DSP软件向桌面和嵌入式系统挑战
如何合理地安排数据流程,使之在DSP的各执行单元间无冲突地顺利执行,仍是DSP开发人员面临的一个非常重要的问题。由于设计的复杂性,将算法映射到DSP具体目标硬件上,尚不能采用高层次编程语言,必须使用汇编语言,并对器件的并行执行机制有十分清楚的了解。而这种局限于汇编语言的编程设计,正是提高软件开发效率的瓶颈。
90年代早期,嵌入式系统">嵌入式系统和桌面应用的开发人员曾面临相似的问题。当时为提高设计效率而采用的方法现在仍可借鉴使用。一个短期的解决方案是由编程人员自己解决这一问题。但是,编程人员相对短缺,而且DSP领域编程人员更为紧缺。在DSP开发时,可以考虑采用非DSP专业的编程人员,但这些人员一般倾向于使用桌面和嵌入式应用的开发工具。而DSP开发领域还没有类似的工具,这就阻碍了DSP应用的进一步推广。
开发相似,实质不同
即使采用了上述的开发工具,DSP还具有不同于RISC和CISC的独特特征。DSP处理能力不仅靠越来越快的时钟速率来实现,而且还依赖于并行处理结构的进一步采用。早期的DSP仅含有单个多路器和累加器,由哈佛结构以及一些控制寄存器环路组成。而目前的DSP处理器通常采用多个执行单元,每个执行单元都由算数逻辑运算单元(ALU),一个多路器和累加器组成,而且这些执行单元可以并行执行。
美国I.C.Com 公司在与西门子半导体公司的合作中,开发出了Carmel DSP,它通过一个非常类似C的汇编语言来解决DSP开发面临的上述瓶颈问题。
I.C.Com公司VLSI设计副总裁Amnon Rom说:"我们的目的是使我们的汇编语言Carmel尽可能地接近C语言。对DSP开发来说,减少开发过程中从浮点算法转换到固定点算法,然后再到汇编语言程序所需的时间非常重要。通过将汇编语言与之一一对应,从而减去了从C语言到汇编语言的开发步骤。"
友好易用的硬件系统
美国ZSP公司采用易于编译的硬件系统来解决DSP开发中面临的这一问题。其硬件系统包含一个正交指令集,一个透
明状态机和一个流水线控制单元。其中流水线控制单元是该结构的关键,它代替编程人员对DSP中的并行执行单元进行作业安排控制。通过分配指令到硬件、解决数据和资源间的依存问题,从而将指令分组分配到DSP的各个并行执行单元。这样减去了编程人员和编译器安排分配并行任务的负担。
ZSP公司提供一套完整的软件开发工具,让编程人员管理复杂的DSP编程任务。可以通过命令行直接调用这一工具,或者通过使用Premia的Codewright编辑器。Codewright是一个开发工作平台,通过它可启动其他应用程序。ZSP就是采用该平台来管理其Gnu编译器、汇编器、链接器、仿真器以及调试工具。
Codewright开发环境进一步扩展,包括了设计项目目录管理功能,对项目可执行程序的生成进行参数调整。针对基本的DSP软件开发,ZSP公司提供了一个完整的解决方案。
美国TI公司认为DSP未来的发展在于软件,并已经开始着手两项开发。首先,它将Code Composer IDE的功能与DSP/BIOS和RTDX驱动程序进行集成,组成综合开发环境Code Composer Studio。这是TI将其收购的GoDSP公司Code Composer DSP调试工具与Spectron的低档DSP操作系统进行统一集成的结果。其次,它建立了DSP软件模块的标准接口,以便更好地重新利用现有的实现了的DSP算法。
TI公司认为,通过将一个汇编语言优化器集成到其Code Composer开发环境,从而减少了对汇编语言的需要。据称该工具产生的编码的效率可达到手工调试的汇编语言的80。
对DSP开发,每个MIP和存储器字非常珍贵,对这一资源的任何浪费都会影响项目的进展,使之难以完成。但为了提高软件开发效率,也必须牺牲一些MIP和存储器为了更好地开发
对DSP开发,每个MIP和存储器字(Word)非常珍贵,对这一资源的任何浪费都会影响项目的进展,使之难以完成。但为了提高软件开发效率,也必须牺牲一些MIP和存储器。这些MIP和存储器资源是用在DSP内访问程序和数据转换方面,访问程序将DSP算法的内部表达方式转换成共用的方式,以便进行通信。
TI公司提出的软件标准包含两个方面,一是处理目标硬件与主机的接口,另一方面处理内部的API(应用程序接口)集,以提供DSP软件模块间的通信。在主机一侧,是Active X程序集,用来处理与目标硬件间的通信,并模拟目标器件的行为。这里主机接口包括以下四个主组:项目服务器,编辑服务器,图象服务器和调试服务器。其中调试服务器用来建立和维持与目标硬件间的通信。在目标硬件一侧,链接依赖于RTDX和DSP BIOS。
Blue Wave Systems的产品经理Nick Keeling对Code
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...