星上DSP系统性能提高的瓶颈及其对策.doc

上传人:文库蛋蛋多 文档编号:3944896 上传时间:2023-03-28 格式:DOC 页数:15 大小:37KB
返回 下载 相关 举报
星上DSP系统性能提高的瓶颈及其对策.doc_第1页
第1页 / 共15页
星上DSP系统性能提高的瓶颈及其对策.doc_第2页
第2页 / 共15页
星上DSP系统性能提高的瓶颈及其对策.doc_第3页
第3页 / 共15页
星上DSP系统性能提高的瓶颈及其对策.doc_第4页
第4页 / 共15页
星上DSP系统性能提高的瓶颈及其对策.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《星上DSP系统性能提高的瓶颈及其对策.doc》由会员分享,可在线阅读,更多相关《星上DSP系统性能提高的瓶颈及其对策.doc(15页珍藏版)》请在三一办公上搜索。

1、星上DSP系统性能提高的瓶颈及其对策60控制工程2005年第2期星上DSP系统性能提高的瓶颈及其对策赵玮孙昕郭兵北京控制工程研究所摘要本文针对执行数据处理任务的星上应用DSP系统,以系统设计的角度,从外部存储器速度,外部存储器容量,软件可靠性三方面详细分析了限制DSP系统进一步提高性能的瓶颈,并分别提出了解决方案.应用这些方案到实际的星上DSP系统设计中,将大幅度的提高数据处理性能,提高DSP芯片在星上应用的可靠性.关键词DSP系统外部存储器RToS引言近年来,DSP(数字信号处理器)技术飞速发展,在军事领域和航天器中得到了广泛应用.在国外,新一代军用卫星的控制系统,GPS,雷达,导航系统等其

2、内部的许多部件都有应用DSP的例子.在国内,DSP在星上数据处理方面的应用也有了相当的发展,许多敏感器部件上用到了进行数据处理的DSP,这些DSP的使用大大增强了敏感器部件的输出数据更新率,为卫星控制精度的提高做出了贡献.目前这类DSP应用系统已经从最初的单DSP,10MHz核心工作频率,处理能力10MFLOPS发展到双DSP,100MHz核心工作频率,单DSP处理能力600MFLOPS,同时与之配套的高可靠外围电路技术也日趋成熟.然而,在DSP的发展过程中,由于传统的设计方法的原因,出现了DSP系统性能进一步提高的瓶颈.本文将对这些瓶颈加以分析,并提出相应的解决方法,以期拓宽DSP在星上的应

3、用能力,使之更加适合我国航天器设计的要求.2当前影响DSP性能提高的瓶颈由于用户的需求不断提高,要求我们提供在卫星上适用的速度更快,功耗更低,可靠性更高的DSP产品.可以预见,在很短的时间内,现有的星上DSP系统将不再能满足用户要求,这就促使我们不断开发出性能更优的产品.但是要使DSP系统的性能从当前的水平上再上一个台阶,仍然采用传统的设计方法遇到了许多困难,这些困难形成了制约星上DSP系统性能发展的瓶颈.从系统设计的角度来看,瓶颈存在于两大方面:a,外部存储器设计,包括速度和容量的瓶颈.b.软件设计,包括质量和可靠性的瓶颈.本文将从这两部分出发,分别对它们进行分析,并提出相应的解决方案.控制

4、工程613外部存储器设计瓶颈及对策3.1外部存储器速度瓶颈及对策因为大部分DSP内部存储器的容量与应用程序相比较小,再加上星上应用可靠性的缘故,DSP系统的应用程序一般在外部存储器中运行.在已实现的传统设计中,应用程序运行的方式主要有两种:a.在只读存储器(如PROM,EPROM,EPROM)中直接运行在这种方式下,DSP在上电后从复位向量表中得到复位向量,然后跳转到只读存储器内的程序指令空间,并从那里运行程序.b.在异步静态随机存取存储器(ASRAM)中运行在这种方式下,程序的载体仍然是只读存储器,但是复位后首先运行引导程序,将只读存储器中的程序代码和常量复制到ASRAM中,然后直接跳转到A

5、SRAM中运行程序.无论使用哪一种方式,都有一个共同点:即应用程序运行时,DSP所取指令的地址空间都是异步存储器,使用的是DSP的异步接口(AsynchronousInterface).这种接口的优点是实现简单,可配置能力强,可以和不同速度/类型的异步器件进行直接连接.然而,这种连接方式并不适用于高速度的DSP系统.要保证DSP全速(流水线满)工作,DSP异步接口读写速度必须比存放指令的存储器的读写速度快,这样才能保证DSP在一个指令周期内从存储器中得到指令,并送入流水线管道.如果不能达到这个要求,就必须在DSP内部或者外部插入等待周期,以满足外部存储器时序要求,把数据可靠的送到DSP总线上.

6、由于所取的数据是DSP的指令代码,如果不考虑读取其他存储器带来的打断,那么理论上仅插入一个等待,就会使DSP的性能下降一半.表1DSP访问外部程序存储器的等待周期序号DSP外部程序存储器等待周期116MHzADSP一21062指令周期625nsPROMUT28F256访问速度40/45ns0216MHzADSP一21062指令周期625nsEPROMr27C256访问速度45ns0350MHzTMS320C6701指令周期20nsASRAMwMs512K8访问速度15ns04167MkTMs320c6701指令周期6nsASRAMCY7C1062Av33访问速度8ns2550MHzTMS320

7、C6701指令周期20nsASRAMCY7C1062AV33访问速度8ns0从表1中可以看出当异步接口的读写速度不大于16MHz时,使用慢速的PROM或者EPROM也可以满足DSP零等待时序要求,如表1第一,二项所示.但当DSP主频上升后,异步接口的读写速度也随之上升,这时PROM,EPROM就不再满足DSP全速工作的要求了.如果将慢速的PROM,EPROM换为速度较快的ASRAM后,适用的DSP主频可以达到50MHz以上,如表1第三项所示.但ASRAM仍然属于异步器件,其结构决定了读写速度的限制.现今较快的ASRAM读写访问时间可以达到8ns,但这一时间并不是DSP读写ASRAM的完整有效时

8、间,只是ASRAM地址有效到数据有效的时间间隔.以表1第四项为例,要想使TMS320C01能够可靠读取CY7C1062AV33中的数据,实际电路设计时必须满足下面的公式:Tcyc1eTofna+Tacc(m)+Ttp+Tmrgin其中:62控制工程T异步接口读周期Td:DSP时钟上升沿到输出地址有效和控制信号有效的最大延时,TMS320C6701为4.5nsTf):ASRAM的输入地址有效到数据总线上数据有效的间隔,CY7C1062AV33为8nsTDSP数据总线上数据有效到DSP采样数据之间的建立时间,TMS320C6701为4.5nsT考虑到信号传输时间和时钟偏移,保证数据读取正确所要求的

9、裕量,至少为1ns按照上式计算Tl最小值为18ns,这才是DSP读写ASRAM的一个完整周期.因此,在这种工作方式下,TMS320C6701的实际工作频率最大被限制在50MHz左右,参见表1第五项,对ASRAM来说,这已经是理论上的极限值.通过上述分析,可以看出造成DSP异步接口速度限制的原因主要有两方面:a.异步接口的工作方式.由于异步存储器的每一次读写都需要重新打入地址,这使得地址总线上的数据交换占去了数据读取的大部分时间.b.ASRAM的读写速度较慢.当今较快的ASRAM的访问时间在8ns左右.正是因为异步存储器本身特性决定了它的速度限制,那么使用同步存储器(SynchronousRAM

10、s)就成为了解决这一速度限制的途径.同步存储器采用同步技术,使得它的读写速度与异步存储器相比有了突破性的进步,这种进步足以使得TMS320C6701可以在超过150MHz的速度下全速运行,达到异步存储器300%的功能.当前流行的快速同步存储器包括同步动态RAM(SynchronousDRAMSDRAM)和同步突发静态RAM(SynchronousBurstSRAMSBSRAM).由于SDRAM是一种动态RAM,它必须被定时刷新,这种工作模式在星上应用的可靠性有待研究.而且SDRAM在使用上也比较复杂,因此它不是一种理想的解决方案.同步突发式静态RAM(SBSRAM)与SDRAM相比,最大的优势

11、在于它是一种静态RAM,不需要刷新.所以可靠性要比SDRAM高出不少,更符合卫星上应用的要求.所谓突发,是指同步RAM的一种技术,它的主要思想是通过给出一个地址与控制信号配合,利用存储器内的地址产生器生成多个地址(通常为所给地址的后续空间),并在之后的每个时钟周期内,将这些地址对应的数据依次的同步送到数据总线上.由于是同步操作,DSP可以在适当的时问去读取数据,不会造成时序上的偏差.这种方式的优点就是大幅减少了地址总线的操作,而这一点正是异步SRAM性能受限的主要原因.SBSRAM与ASRAM相比,一个优势是读写速度快,另一个优势是因为地址的产生大部分是在存储器内部,这样就减少了因锁存错误地址

12、而得到错误数据的可能性,而除非进行了彻底的信号完整性分析,否则这种可能性在超过IOOMHz的高速电路中是普遍存在的.从应用程序运行时取指令操作的特点来看,SBSRAM也十分适合作为应用程序运行时的载体.因为应用程序运行时,除了数量有限的跳转以外,大部分是顺序执行的,PC指针基本上以1为公差递增.这样就基本不会打断突发操作,使得绝大部分的指令都可以在DSP单指令周期内取走,达到使DSP全速工作的目的.正是因为SBSRAM与ASRAM和SDRAM相比具有上述优点,DSP芯片制造厂商纷纷控制工程63推出了可以与之直接连接的DSP产品.比如TI公司的TMS320C6000系列和AD公司的ADSP一21

13、161N都专门设计了SBSRAM的无缝接口(GluelessInterface),TMS320C6701就可利用该接口直接与32位的SBSRAM相连,并且可以实现在芯片最高频率167MHz下全速工作.3.2存储器容量的瓶颈及对策无论是ASRAM还是SBSRAM,都只是应用程序运行时的载体,而程序和常量必须固化在只读存储器中.因为卫星在空间辐射环境中工作,需要考虑空间辐射效应对存储器的影响,所以储存程序的只读存储器一般采用具有抗辐射加固能力的芯片,常用芯片有INTERSIL公司的HS6664RH(8K8bit)和UTMC公司的UT28F256(32K8bit).在我国的DSP系统应用早期,完成的

14、任务比较简单,程序主要以汇编语言编写,这时一个程序占用的地址空间大约是26KB,只需要几片HS6664就可装下所有的程序和变量.但是随着DSP承担任务的复杂化,仍然使用汇编语言编写程序不仅实现和调试困难,而且带来了诸如软件可靠性,可维护性等一系列问题,这就要求使用高级语言(C或者C+语言)来进行软件开发.但是C语言经编译后要占用相当大的存储空间,这使得PROM的使用片数大幅上升,这在功耗和空间上有很高要求的星上嵌入式系统中是无法接受的.现在有一种可行的方法可以解决这一问题,那就是采用数据压缩算法将应用程序的指令代码和常量进行压缩,PROM中存储的实际上是引导程序的源代码和经过压缩的应用程序.在

15、系统加电后,运行引导程序,执行解压缩程序,将真正的应用程序解压后放到片外大容量的RAM中,然后在RAM中运行应用程序.这种方法非常适合在DSP系统上的应用,当今有许多比较成熟的二进制数据压缩算法,一般都可以达到相当高的压缩率和比较快的解压缩速度,借助于DSP芯片强大数据处理能力,解压缩算法的运行效率可以非常高,减少因解压缩占用的系统初始化时间.这种方法还有一个优点,就是优秀算法可以实现容错的功能,在解压缩时可以将因单粒子翻转(SEU)或其他原因造成的少量数据错误纠正过来,这个特点可以减少因程序代码发生永久性错误而造成的系统无法工作的可能性,提高了在星上应用的可靠性.然而,这种方法在实现时应当具

16、体分析所设计系统的特征,来确定所适合的压缩算法.举例来说,不同种类DSP的指令宽度也不同,常见的包括16位,32位,48位几种,不同宽度指令的解压缩方法是不同的,这需要根据实际情况对算法进行适应性的修改.此外,由于不同的DSP具有不同的结构,在编写解压缩代码时要充分考虑到所使用DSP的特点,针对特定芯片进行代码的优化,减少解压缩的时间.尽管对于不同的DSP,解压缩算法和实现方式有着不同的特点,但是有几条基本原则是所有算法都应当具备的:a.数据压缩率至少达到50%,这是选择压缩算法的最基本要求.如果选用的算法不能满足这一要求,那么使用数据压缩的意义就不大了,此时应当选用其它算法或者重新优化应用软

17、件的代码,减少源代码长度.b.解压缩所需时间不能超过允许的最长无数据输出时间.如果用C语言实现的速度满足不了要求,可以考虑用汇编语言进行解压缩程序的编写,但是这样会造成调试困难和代码的可重用性下降.C.在满足a,b条件的前提下,实现容错功能.但在特定条件下可以部分牺牲a,b的指标来满足星上高可靠性的要求.64控制工程4软件开发可靠性瓶颈及对策无论DSP系统发展到什么程度,软件在系统中始终处于核心的位置,系统软件逻辑关系的正确保证了任务调用与对外数据交换的正确性,应用软件算法的优劣和代码的优化程度决定了整个系统数据处理能力的强弱.从系统软件的角度来看,在传统的DSP系统设计中,软件编程人员除了开

18、发需要实时实现的核心算法之外,还要自己设计系统软件框架,作为目标代码的一部份一起运行,软件设计人员实际上在每一个项目的开发中都编写了一个最小化的操作系统(OS),来完成硬件配置,任务调度等工作.这部分的代码长度不长,但是调试时间却贯穿设计的始终,每当硬件设计有改变,系统软件就要作相应的修改,并且重新调试.而实际上,这些系统软件在不同系统上是大同小异的,在程序流程上有绝对的共通性.可以说,软件工程师在为系统编写系统软件时,虽然付出了繁重的工作量,但是完成的却是低水平的技术重复.同时,由于人与人的差异性,软件实现的结果也不相同,在这一过程中很容易因为疏忽造成编码错误,降低整个系统的可靠性.此外,为

19、了简化程序流程,现有DSP系统的任务调度方式采用的是单任务方式,这种方式的效率是相当低的,造成大量的CPU空闲等待时间.而且这种方式对于中断的处理也不是很方便,需要大量的调试来验证功能的正确.对于数据处理系统而言,应用软件的主要任务就是完成算法的实现,保持它相对于系统软件的独立性是软件模块化的基本要求,所以两者之间的接口越简单越理想,这就要求提供给双方一个界面清晰的接口标准规范.通过上面的分析,可以看出随着芯片结构的日益复杂,软件设计难度不断提高,当前的软件设计方法不再适合高性能DSP的设计要求.现有的情况往往是为了完成软件的设计,以牺牲系统性能为代价,大幅简化软件设计流程,一些复杂却可以提高

20、系统效率的优化手段也由于可靠性的因素不得不放弃.这就迫切要求有一套标准的适用于不同芯片的管理CPU的系统软件提供给设计人员.对于DSP数据系统来说,执行的基本上是高速实时信号处理任务,实时操作系统(RTOS)正是为了满足实时嵌入式系统设计开发的一种操作系统.它为程序员提供了高效的实时多任务调度,中断管理,实时的系统资源以及实时的任务间通信.在各种CPU平台上提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同CPU之间的底层差异.应用程序设计人员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理.当今在市场上已经有了多种支持DSP的RTOS,常见的如表2所示.这几种RTOS

21、都已经是相当成熟的软件,均提供了一体化的开发环境,提供了编码,调试,编译的使用平台,并且有功能强大的调试仿真工具来进行实时性能的检测.这些特点大大简化了我们的开发工作.然而在具体应用中应当选用那一种作为开发的目标呢?这要从多方面来分析:RTOS追求的是实时性,可确定性,可靠性.评价一个实时操作系统一般可以从任务调度,内存管理,任务通讯,内存开销,任务切换时间,最大中断禁止时间等几个方面来衡量.a.任务调度机制.RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制.从调度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式上来讲,分可抢占,不可抢占,选择可抢占调度方式;从时间片

22、来看,分固定与可变时间片轮转.控制工程65表2支持DSP的商用RTOS名称公司支持DSP芯片其他ADSP21020,SHARCVirtuosoEoNIC支持多DSP并行TIC3x,CAx,C6XXX?Diamond3LTIC6XXXDSP/BIoSTITIC6XXX集成于CCS中.NucleusATIADSPSHARCTIDSPoSEEneaOSESystemsABADSPSHARCTIDSP支持多DSP并行b.内存管理:包括内存分配,回收,保护等.C.最小内存开销.RTOS的设计过程中,最小内存开销是一个较重要的指标.由于元器件的因素和空间环境辐射效应等方面的影响,星载计算机内存配置一般都不

23、大,而在这有限的空间内不仅要装载实时操作系统,还要装载应用程序.因此,在RTOS的设计中,其占用内存大小是一个很重要的指标,这是RTOS设计与其它操作系统设计的明显区别之一.d.最大中断禁止时间.当RTOS运行在核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的.只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间.e.任务切换时间.当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息,插入相应队列,并依据一定的调度算法重新选择一个任务使之投人运行,这一过程所需时间称为任务切换时间.上述几项中,最大中断禁止时间和任务切换时间是

24、评价一个RTOS实时性最重要的两个技术指标.此外,良好的开发,调试环境,丰富的API(应用程序接口)实用库和设备驱动程序,标准的兼容性和技术支持,培训等方面也是选择商用RTOS时的一个重要参考指标.在仔细分析了以上选择标准后,再结合选用芯片的实际情况,就可以选用一种RTOS进行软件的开发了.但是由于I/(3配置不同,存储器大小,模式不同等,因此要真正用于我们的目标计算机还要进行二次开发.首先设计出适用的板级支持包(BSP).BSP提供了操作系统内核与目标硬件环境之间的接口,主要完成目标硬件上电后的初始化,支持操作系统访问硬件,管理中断和定时器,进行内存分配等.然后,构建DSP星用RTOS最小系

25、统.从RTOS的兼容性,移植性及降低成本,增强可靠性的角度考虑,必须把内核的大小裁减的尽可能小,以满足卫星DSP数据处理系统的需要.如何在满足功能,性能,可靠性等方面的前提下,把内核的尺寸降到最低限度,并以此为基础构建DSP星用RTOS最小系统也是开发中的重点环节.多年来,在星上DSP系统的研发过程中,对系统级加固及软件容错设计都积累了许多宝贵经验,应当以此为基础,对其进行补充,使之能够满足星用RTOS的需要.与此同时,对内核的增减是一件非常谨慎的事情,在对其进行增减的同时要考虑到不能破坏原有内核性能和实时响应能力,更不能对其体系结构,资源管理机制等进行随意的修改,否则后果是灾难性的.因此,还

26、需要研究补充的代码对整个RTOS系统性能的影响,并完善相应的测试技术.(下转第50页)50控制工程参考文献1雷卫红,桑楠,熊光泽.嵌入式实时系统中断管理技术研究.单片机与嵌入式系统应用,2004(5):1619.2汤子瀛,杨成忠,哲凤屏着.计算机操作系统(第二版).西安电子科技大学出版社,199634郑人杰.实用软件工程(第二版).清华大学出版社,19975AndrewSTanenbaum,AlbertSWoodhul1.OperatingSystems:DesignandImplementation,SecondEdition.Prentice-Hall,Inc.USA,19976TrueF

27、LASHFileSystemforTornadoProgrammerSGuide1.0Edition1.WindRiverSystems,Inc.19841999.7VxWorlcs5.4ProgrammerSGuide.WindRiverSystems.Inc.19841999.8VxWorksBenchmarkDataSheet.VxWorks5.3.1.40MHzSPARC.WindRiverSystems.Inc.198419999LjerkaBeus-Dukic.COTSRealTimeOperatingSystemsinSpace.TheSafety.CriticalSystems

28、ClubNewsletter,2001,10(3):1114(上接第65页)5结论本文从系统应用的角度,重点分析了在DSP系统中遇到的一些影响其数据处理能力进一步提高的瓶颈,并从外部存储器速度,外部存储器容量,软件可靠性这三方面提出了相应的解决方案.这些措施已经在新型号卫星DSP数据处理系统中得到部分应用.从实现情况来看,这些解决方案的应用显着的提高了系统性能和可靠性,取得了满意的效果.参考文献1TMS320C6000PeripheralsReferenceGuideTEXASInstrument.20012TMS320C6000ProgrammerSGuideTEXASInstrument.20013ADSP一2106XUserSGuideAnalogDeviceInc.19954VxWorksProgrammersGuide,WindRiverSystem,Inc.19995GregHawley着.SelectingaRealTimeOperatingSystem.EmbeddedSystemPrograming2001618MB:1MEG18,512K32/36pipelined,SCDSYNCBURSTSRAMMicronTechnology,Inc.2002

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号