共1条
1/1 1 跳转至页
DSP芯片开发和产品应用(转载)1
DSP芯片开发和产品应用(转载)
一、DSP程序开发
为了使DSP有效运行、必须要用能充分考虑DSP内部并行性的汇编语言进行编制DSP程
序。前面提到,美国TI公司的DSP推销员说DSP编程容易,实际上他是指DSP的汇编语言相
对于计算机的汇编语言而言,比较容易一些,因为没有像计算机汇编语言那样复杂。但
是,对于习惯用高级语言编程的用户,利用DSP汇编语言编程还是有困难的。因为,汇编
语言是面向机器的程序设计语言,它是一种把机器语言(机器指令码)符号化的低级程
序设计语言。使用计算机汇编语言的用户一定要熟悉机器硬件结构和指令系统;使用DS
P汇编语言的用户一定要熟悉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的新编译程序已基本上开发出来,对于其他的D
SP用的软件工具正在加紧研究与开发之中。
二、多个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〉高速互连网络和同步结构是M
PP系统的重要组成部分,有待进一步研究和发展。美国NII构想的核心部分HPCC计划已接
近尾声,日本与美国HPCC对抗的计划Mandala正在实施,将必然要对上述MPP关键性技术
取得突破性进展。
在这样的背景下,国际上出现多个DSP并行处理研究与开发热点,显然是紧密相关的
。因为,把MPP系统与现在研究的多个DSP并行处理系统两相对照(参阅图1所示的多个D
SP网络拓扑结构),不难发现MPP系统和多个DSP并行处理系统极为相拟。现在之所以称
图1所示的系统为多个DSP并行处理系统,是因为网络结点上的处理器是数字信号处理器
DSP。假若标明处理器是复杂指令集计算机CISC型或精简指令集计算机RISC型微处理器M
PU,则该系统就是超级并行处理巨型机系统。因此,现在出现的多个DSP网络拓扑结构或
者多个DSP并行处理系统并不是新东西,而是现代MPP技术向数字信号处理领域扩散的结
果。现代科学技术高度综合发展的今天,各种科学技术相互交叉和渗透,MPP技术扩展到
数字信号处理领域也是很自然的。
欧美各工业发达国家已把DSP并行处理系统中结点处理器个数扩展到128个,试图获
得更高的信号处理速度。日本武藏工业大学现已研制出几种DSP网络,例如,C25 16、C
40 32和86220 16等,实现高速运算。据该大学的DSP研究与开发实践发明,利用多个DS
P执行大规模处理任务时,各DSP之间交换数据实现数据通信和对各DSP均衡地分配处理任
务,都是重要的研究课题。这个问题不解决,尽管网络里有多个DSP结点,也是不能充分
发挥各结点DSP作用和实现高速处理。连接DSP的网络拓扑结构是多种多样,最简单的连
接方式是总线结构,其它,像超立方体连接
、树状连接和环状连接等等,都各有其特点,也只能根据应用问题的类型选择相应的连
接机构。特别是多个DSP并行处理系统的管理也是个难题,为此需要考虑内置操作系统O
S功能的管理电路,用于母板,路由器和仲裁器等管理。
从日本高等学校研究与开发多个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系统的本质,利用它可使人一面用H
MD观察由计算机图形学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的各执行单元间无冲突地顺利执行,仍是DS
P开发人员面临的一个非常重要的问题。由于设计的复杂性,将算法映射到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说:“我们的目的是使我们的汇编语言Car
mel尽可能地接近C语言。对DSP开发来说,减少开发过程中从浮点算法转换到固定点算法
,然后再到汇编语言程序所需的时间非常重要。通过将汇编语言与之一一对应,从而减
去了从C语言到汇编语言的开发步骤。”
友好易用的硬件系统
---- 美国ZSP公司采用易于编译的硬件系统来解决DSP开发中面临的这一问题。其硬件系
统包含一个正交指令集,一个透明状态机和一个流水线控制单元。其中流水线控制单元
是该结构的关键,它代替编程人员对DSP中的并行执行单元进行作业安排控制。通过分配
指令到硬件、解决数据和资源间的依存问题,从而将指令分组分配到DSP的各个并行执行
单元。这样减去了编程人员和编译器安排分配并行任务的负担。---- ZSP公司提供一套
完整的软件开发工具,让编程人员管理复杂的DSP编程任务。可以通过命令行直接调用这
一工具,或者通过使用Premia的Codewright编辑器。Codewright是一个开发工作平台,
通过它可启动其他应用程序。ZSP就是采用该平台来管理其Gnu
编译器、汇编器、链接器、仿真器以及调试工具。
---- Codewright开发环境进一步扩展,包括了设计项目目录管理功能,对项目可执行程
序的生成进行参数调整。针对基本的DSP软件开发,ZSP公司提供了一个完整的解决方案
。
关键词: 芯片 开发 产品应用 转载 并行 汇编语言 美国
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |