DSP的芯片开发
创易电子整理出品,创易更懂电子, http://52edk.taobao.com/ 全系列阻容感一本全掌控。
为了使DSP有效运行、必须要用能充分考虑DSP内部并行性的汇编语言进行编制DSP程序。前面提到,美国TI公司的DSP推销员说DSP编程容易,实际上他是指DSP的汇编语言相对于计算机的汇编语言而言,比较容易一些,因为没有像计算机汇编语言那样复杂。但是,对于习惯用高级语言编程的用户,利用DSP汇编语言编程还是有困难的。因为,汇编语言是面向机器的程序设计语言,它是一种把机器语言(机器指令码)符号化的低级程序设计语言。使用计算机汇编语言的用户一定要熟悉机器硬件结构和指令系统;使用DSP汇编语言的用户一定要熟悉DSP芯片内部结构和指令系统,这对于DSP用户来说也实非容易的事情。
从发展DSP应用角度观察,应该有相当规模的DSP开发应用队伍,这个队伍的成员应该掌握使用汇编语言AssemblyLanguage编程基本功,才能开发出高效率的DSP应用程序。特别是在利用多个DSP芯片开展并行处理应用时,具有这种编程基本功底是绝对必要的。甚至,在某些专业应用领域,诸如,日本简易便携电话PHS、磁盘驱动器里的控制系统等,可能仅有一块DSP芯片,供编程的空间很小,需要用DSP指令编写高效率精干的小程序。因为,利用汇编语言编制应用程序,DSP还需要一种汇编程序Assembler通过代真把源程序中各个符号转换成DSP可执行的指令代码。Assembler也要占用DSP的有限存储空间。前文提及的正确理解DSP,实际上也包括这一层含义。也就是说,不对DSP的性能和结构有透澈地了解,很难推广DSP应用。
从DSP编程角度观察,需要重视以下两点:首先,DSP处理任务的执行时间要给予重视,其次,C语言及其编译程序Compiler支持工具也很重要。这是日本武藏工业大学的学者曾祢元隆等研究DSP应用的重要心得体会,对于推广DSP应用具有重要意义。
现在,美国TI公司尽管已提供软件支持工具,但是,对于并行执令还有一定的困难。如今美国、墨西哥和日本武藏工业大学等,正在积极地开发更好用的编译程序,除了特殊指令以外,已经可以实现自动翻译。日本武藏工业大学的DSP研究与开发状况如下:对于TI公司的DSP系列产品中的C40和C3X的新编译程序已基本上开发出来,对于其他的DSP用的软件工具正在加紧研究与开发之中。
二、多个DSP并行处理
随着数字信号处理器DSP芯片逐年增多和芯片价格的降低,多个DSP芯片并行处理的实用化研究,成为近年来DSP研究热点之一。提起多个DSP并行处理,使人们很快联想到跨入九十年代的超级并行处理MPP(MassivelyParalleProcessing)巨型机热潮。这类机器一上市,宣称具备三
大特点:
〈1〉高性能?/FONT>MPP巨型机的峰值处理性能可以理解为单个微处理器的性能与系统内容纳的微处理器总个数的乘积,系统里链接的MPU个数愈多,则峰值处理速度愈高;
〈2〉伸缩性椣低成焖跣园嘀趾澹低承阅堋⑾低惩ㄐ糯淼榷加胂低衬诹唇拥奈⒋砥鞲鍪上咝栽龀す叵担低彻婺?纱罂尚。硐殖隽己玫目缮焖跣裕?/P>
〈3〉高性能/价格比椢蘼?/FONT>CISC还是RISC微处理器MPU都是工业化大生产的标准产品,构筑成MPP巨型机,其性能可同向量机媲美,而价格仅为向量巨型机的1/10甚至更低,堪称是高性能/价格比。
九十年代初期的MPP巨型机,由于技术不够成熟,特别是编译系统不成熟,导至MPP巨型机实际有效性能仅为其峰值处理速度的1/10以下。早期的MPP巨型机厂家,如象赫赫有名的美国TMC公司、KSR(KendallSquareResearch)公司都先后倒闭,美国著名的小巨型机厂家Convex公司已被HP公司并购。但是,这些有创见的小公司开发的先进技术,依然存在并经过不断改进正被发扬光大。例如,有关的“超级计算机更高无尽头”报道,MPP巨型机的峰值处理速度已超过1TFLOPS,正向100TFLOPS冲刺。
现在,对于超级并行处理MPP技术已历经多年探索研究,正开始走出摇篮期向成熟化方向迈进。据日本京都大学工学部教授富田真治分析,MPP技术走向成熟,将需在以下5方面取得突破性进展:〈1〉并行处理语言、调试程序和软件工具,要求实现标准化;〈2〉需要加强应用研究,掌握和理解大规模应用程序,要对并行处理程序的处理类型分类,需要有基准测试程序评价;〈3〉研究MPP巨型机的单元处理器的体系结构,优化出单元处理器结构;〈4〉共享存储器结构和消息传送结构有待进一步研究,大规模共享存储器系统里,缓存控制采取登录方式可能会有大发展;〈5〉高速互连网络和同步结构是MPP系统的重要组成部分,有待进一步研究和发展。美国NII构想的核心部分HPCC计划已接近尾声,日本与美国HPCC对抗的计划Mandala正在实施,将必然要对上述MPP关键性技术取得突破性进展。
在这样的背景下,国际上出现多个DSP并行处理研究与开发热点,显然是紧密相关的。因为,把MPP系统与现在研究的多个DSP并行处理系统两相对照(参阅图1所示的多个DSP网络拓扑结构),不难发现MPP系统和多个DSP并行处理系统极为相拟。现在之所以称图1所示的系统为多个DSP并行处理系统,是因为网络结点上的处理器是数字信号处理器DSP。假若标明处理器是复杂指令集计算机CISC型或精简指令集计算机RISC型微处理器MPU,则该系统就是超级并行处理巨型机系统。因此,现在出现的多个DSP网络拓扑结构或者多个DSP并行处理系统并不是新东西,而是现代MPP技术向数字信号处理领域扩散的结果。现代科学技术高度综合发展的今天,各种科学技术相互交叉和渗透,MPP技术扩展到数字信号处理领域也是很自然的。
欧美各工业发达国家已把DSP并行处理系统中结点处理器个数扩展到128个,试图获得更高的信号处理速度。日本武藏工业大学现已研制出几种DSP网络,例如,C25 16、C40 32和86220 16等,实现高速运算。据该大学的DSP研究与开发实践发明,利用多个DSP执行大规模处理任务时,各DSP之间交换数据实现数据通信和对各DSP均衡地分配处理任务,都是重要的研究课题。这个问题不解决,尽管网络里有多个DSP结点,也是不能充分发挥各结点DSP作用和实现高速处理。连接DSP的网络拓扑结构是多种多样,最简单的连接方式是总线结构,其它,像超立方体连接
、树状连接和环状连接等等,都各有其特点,也只能根据应用问题的类型选择相应的连接机构。特别是多个DSP并行处理系统的管理也是个难题,为此需要考虑内置操作系统OS功能的管理电路,用于母板,路由器和仲裁器等管理。
从日本高等学校研究与开发多个DSP并行处理系统中所遇到技术问题,可以看到问题的性质和在MPP系统里的问题在本质上是一样的,只是因为目前系统规模还不大,问题不那么突出罢了。不难想像随着DSP网络拓扑结构规模的扩大,必然要借鉴更多的MPP新技术。无疑,也必须要研
究DSP并行处理语言和编译程序以及调试软件工具;需要掌握和理解DSP大规模应用程序;需要研究适合多个DSP并行处理系统中的结点DSP的体系结构,优化出DSP结构;对于共享存储器结构,消息传送结构以及DSP互连网络结构,都将需要进行深入研究。难怪,日本武藏工业大学电力信息研究室的教授曾弥元隆一再大声疾呼,要正确地理解DSP功能,将其用于控制和实时计算,巨型实时计算,要考虑研制出经得住国际竞争的系统产品。他还着重指出,多DSP网络是国际上近一两年出现的新研究热点,值得注意的是国际上已把多DSP的网络系统用于VR和CG等领域,日本应该在这方面有所作为。
三、瞄准CG和VR
所谓计算机图像学CG(ComputerGraphics)是研究用计算机处理图形信息,或者是研究处理人和计算机之间图形通信等有关的理论和技术叫作计算机图像学CG。众所周知,传统的方法把要求计算机处理的问题输入到计算机和获取计算机处理的结果,都采用字母和数码形式。但是,在日常工作、学习和生活中,人们习惯于和图表、图形打交道,因为这类表达方式直观且方便。随着计算机科学技术的进步,出现图形输入/输出设备及其相应的图形处理软件,这也为计算机图形学CG奠定了物质基础。现代计算机图形学包括图形的输入、图形的生成,图形在机器里的表示,图形的操作处理以及人机交互图形通信等诸多内容。
另一方面,美国VPIResearch公司提出虚拟现实VR(VirtualReality)新技术术语并且向市场推出VR系统产品RB2,把数据手套(DataGlove)作为人机接口,头盈式显示器HMD(HeadMountdeDisplay)后来也作为VR系统的配套输出设备。VR系统现在也称为人工现实系统AR(ArtificialReality)。这也说明VR系统的本质,利用它可使人一面用HMD观察由计算机图形学CG技术实现的3维空间,一面把人带入到人工实现的虚拟世界,利用数据手套操作,使人有如身临其境地去体验和感受这人工虚拟世界。
莫道CG和VR技术都不是日本高技术企业发明的,一旦日本厂家介入这一领域里,利用其先进生产设备和制造工艺迅速地改进CG和VR技术产品。例如,日本日商电子公司完全接产VPLReseach公司的数据手套DatagloveModelJ以后,已于1995年将其售价降低50-60万日元;利用新电子器件和工艺,制作出性能更高、价格更便宜的兼容新产品。该公司利用廉价PC机同引进美国Autodesk公司的VR软件CDK(CyberspaceDeveloperKit)相结合,开发出新的系统产品VRmaker,已于1995年大量投放市场。与VRmaker系统配套的HMD,其售价高达210万日元。自从1996年夏季以来,日本松下电工、索尼、岛津制作所和Olympus光学工业公司等厂家,纷纷将其HMD新产品投放市场。例如,Olympus光学工业公司的HMD新产品MediamaskMW601,LCO尺寸为1.35英寸,象素点个数为1068 480,产生的立体虚像与人眼距离约为2m,HMD外形尺寸184 230 234mm3,重量700克,售价仅为90万日元;索尼公司的PLM-50型HMD新产品,能显示2维虚像,象素点个数为800 225,重量为300克,其售价仅为8.8万日元。实际上,日本厂家早已开发出HMD原型(92-93年),之所以迟迟未能上市,是因为一直同大学和医学单位协作,开展评价HMD对视觉的影响。现已证实,索尼的PLM-50 型HMD在使用2小时左右看电影),完全对人视觉无害。显示3维图像HMD,对视觉的影响仍在调查之中,对视沉影响程度尚不完全清楚。
近年来,CG和VR技术应用在日本已日益广泛,诸如整形手术后手功能修复,手语输入,机器人手臂远程操作、虚拟厨房仿真体验系统,3维CG动画制作,计算输出数据可视化,虚拟手术模拟,产品原型装配与设计验证等等,正向家庭娱乐等领域扩展。日本自从泡沫经济破灭以后,正采取新经济政策恢复经济、低附加产值的电子产品生产早已转向海外,国内振兴电子产业正向高技术高附加产值的产品转移。例如,CG和VR系统产品也正是日本高技术企业的目标之一。而运行CG软件和提供VR系统3维图形处理能力的最关键器件DSP,正是日本厂家薄弱的一环。日本武
藏工业大学电力信息研究室教授曾弥等,无疑正承担日本DSP研究与开发的重任。再这样的背景下,日本的专家学者怎能不在日本新闻媒介上大声疾呼要理解和重视DSP呢。况且,多DSP网络卡作为3为图形加速器在国际上已广泛应用CG和VR系统的情况下,无疑,日本研究与开发多DSP并行处理系统已迫在眉睫,刻不容缓。
由于数字信号处理器DSP可以高速处理极为大量的数字化数据,在各种电子机日益数字化的今天,DSP将要继续高速增长,其应用仍将扩大。根据新的需求发展,DSP将要向低价格、高性能、专用化和扩充有快闪ROM功能方向发展。
---- 单个数字信号处理(DSP)芯片曾经作为协处理器来实现滤波器算法。现在DSP技术的发展已实现了多个复杂算法的并行。但是,这种功能的扩展也产生了新的问题,开发人员发现,在DSP处理能力方面,当MIP和存储器的问题得到解决时,他们又面临着新的课题,即如何来管理设计复杂的软件。
---- 如何合理地安排数据流程,使之在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 Composer Studio表示很大的兴趣,他说,通过这一产品,可以看到DSP软件开发步入成熟。这一进程是TI与其第三方DSP板级开发商共同合作的结果,从Code Composer Studio开发的初期,第三方板级开发商就积极地参与了进来。而这一参与使第三方厂商有能力对Code Composer Studio的功能开展进一步开发。
---- Blue Wave Systems公司正对Code Composer Studio进行改进,使它能自动识别与之相连的任何电路板,包括读取电路板上的配置信息,以及识别安装在电路板上的驱动程序类型。该公司可提供这种电路板和改进后的具备自动识别功能的Code Composer Studio开发环境。
---- Analog Devices公司的Visual DSP工具集与TI公司的Code Composer类似,但不包括主机与目标硬件的链接。该工具支持其全部SHARC DSP系列产品。
---- Visual DSP是集成了IDE和调试器的一个项目管理工具。原码调试工作可在一个C语言和汇编语言的混合环境中完成。同时调试工作可通过一个硬件仿真器在主机上进行,也可直接在目标硬件上实现。
---- 目标器件接口数据流可通过中断的随机组合来仿真。并可在指定的地址范围内和地址范围外设置观测点进行检查。这种功能使开发人员能更好地处理堆栈资源的下溢和上溢。
创易电子搜集,全部资料来源于互联网开源资料,如有侵权,请及时与楼主联系立刻纠正。