dsp编程
dsp编程1
为了使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编程(2)
多个DSP并行处理
随着数字信号处理器DSP芯片逐年增多和芯片价格的降低,多个DSP芯片并行处理的实用化研究,成为近年来DSP研究热点之一。提起多个DSP并行处理,使人们很快联想
到跨入九十年代的超级并行处理MPP(MassivelyParalleProcessing)巨型机热潮。这类机器一上市,宣称具备三大特点:
〈1〉高性能—MPP巨型机的峰值处理性能可以理解为单个微处理器的性能与系统内容纳的微处理器总个数的乘积,系统里链接的MPU个数愈多,则峰值处理速度愈高;
〈2〉伸缩性—系统伸缩性包含多种含义,系统性能、系统通信带宽等都与系统内链接的微处理器个数成线性增长关系,系统规模可大可小,表现出良好的可伸缩性;
〈3〉高性能/价格比—无论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的网络系统用于VR和CG等领域,日本应该在这方面有所作为。
关键词:
编程
并行
结构
多个
日本
处理
研究
巨型机