采用可高效再配置DSP系统的动态加载技术

发布者:RainbowGarden最新更新时间:2007-03-30 来源: 我爱研发网关键字:处理器  基站  终端 手机看文章 扫描二维码
随时随地手机看文章
  新的移动通信市场为DSP 技术带来了一系列新的挑战。我们可采用动态加载技术来有效解决这些难题。

  基于 DSP(数字信号处理器)的多功能系统正变得日益普遍,特别在无线通信方面更是如此。新一代超高性能 DSP 使基站可以承载更多的语音、数据以及视频信息通道,而高级低功耗 DSP 则为手持终端系统提供了 Web 浏览及其他多媒体功能。与以往的任何 DSP 系统相比,上述系统都能够实现更强大的多功能软件灵活性,这不仅是因为通信标准具有很高的多样性,而且也由于目前无人知晓众多新兴应用中到底哪些会胜出。

  新型移动通信市场较强的开放性提出了一系列新的 DSP 技术挑战,这不足为奇。其中最重要的是在于如何加载并配置资源密集型的多媒体应用,以及如何在目前正投入使用的各种新兴系统上加载,并配置诸多不同的通信算法。由于我们常常要在系统运行时进行软件再配置,这也使问题进一步复杂化。各种新式应用及运行这些应用的、基于DSP的系统成功与否,取决于是否能开发出成功应对上述挑战的软件配置技术。

  目前,开发人员发现动态加载应用模块是在运行期间再配置系统以改变或扩展其功能的最有效方式。开发人员不能 在运行前静态配置许多 DSP 系统,其原因在于执行操作的实时要求。但是,动态加载允许系统根据需要进行自身的再配置。举例而言,支持多个调制解调器协议的基站系统可使用动态加载,从而为目前的服务请求进行适当的自身再配置。我们不妨再举另一个例子,即把基于Web的内容下载到无线手持终端中。我们不能链接一个静态的程序图像,让它支持用户可能选择的所有潜在Web浏览路径。但是,我们可以通过动态加载在用户需要时下载某功能所需的支持。这种运行时的灵活性使动态加载成为可再配置 DSP 系统的关键技术。

  动态加载在台式机领域很常见,用户常用它从各自独立的可升级模块来进行应用汇编。但是,开发人员过去在DSP系统中不怎么使用动态加载技术,因为过去它们通常都是带有实时确定要求的单一应用。

  其他技术的沉没

  开发人员也已尝试过采用静态技术进行再配置,但上述技术与动态加载相比较少成功,其中之一就是构建了多个程序图像,每个图像都带有不同的算法集合。当开发人员在运行时可以确定实际的配置时,就可以下载适当的图像。在带宽有限的无线链接情况下,可能需要很长的时间才能下载完整的应用,而且如果开发人员必须通过重复下载完整的图像才能在运行过程中对系统进行再配置的话,那么就会中断系统的使用。对于开发人员来说,这种方法要求在构建应用可能需要的所有图像之前须提前进行全面了解。

  在具有多种独立功能差异的系统中,开发人员必须构建的图像数量也呈组合式增长。随着系统和软件应用变得越发复杂,最终也不可能预先确定所有潜在要求,因此这种方法也就不再可行了。

  开发人员还推出了叠加技术,可部分地解决上述问题。根据这种方法,备用代码或数据处于相同的存储器空间中。当模块在运行时被写入该空间并叠加原先的模块时,就会进行再配置。这种方法减少了加载时间,并且进行再配置也不必中断应用。如果开发人员可限制系统仅从一个系列选择中做出一种选择,那么系统就可相当有效地采用叠加的方法了。但如果系统要求多种选择,那么为每个叠加都预先确定存储器分配就不大可能现实了。这种情况可能会要求构建多个叠加图像,每个图像针对一个可能的存储器进行绑定。这种方法也再次带来了图像数量组合增长的问题。

  动态加载的优势

  动态加载将模块与系统物理存储器的绑定延迟到运行时再进行,这就避免了上述问题。因此,代码可运行于不同的系统设置上,从而带来了更高的灵活性与可重复使用性。在大多数嵌入式系统中,片上存储器非常珍贵,系统必须对其进行高效利用,但确定系统的哪部分应驻留于片上存储器中可能在开发过程中具有很强的局限性。动态加载允许开发人员推迟到运行时再做出决定,这时他们可采用实时条件来确定在给定时间中哪种算法应驻留于存储器。开发人员可根据需要重复地替代或交换算法,这对应用持续使用的影响也较小。在新型的无线系统中,多通道应用可根据需要交换编解码器算法,而无线个人通信装置可从远程服务器下载 DSP 内容。

  动态加载也使系统的升级变得更为方便。升级时开发人员通常必须得写整个系统,其中包括宝贵的用户与配置数据。但利用动态加载,他们可将升级限制在系统的一个或更多部分,如某种算法或某个数据表格。此外,动态模块升级还仅取决于基础系统提供的功能API(应用编程接口);而非取决于基础系统的静态地址。这意味着,一个动态模块可支持多个产品版本,只要所有版本提供的API相同即可。

  表1总结了DSP系统再配置的关键问题。显示了动态加载与叠加及静态加载属性之间的比较。正如该表所示,与静态图像及叠加相比,动态加载在基于DSP系统的再配置方面具有强大的优势。

  我们接下来将根据 TI 的 TMS320 DSP 讨论动态加载的组件及其工作的方式,不过根据实施不同,具体细节也有所不同。

  自加载 DSP 应用

  在典型的自加载 DSP 应用中,单独的 DSP 运行于主控制程序中,该程序包括动态加载器库(图 1)。这种方法保存了一些动态图像所用的 DSP 存储器。当应用要求动态模块或动态模块组时,该控制程序将调用动态加载器,指定待加载的模块图像。模块图像可位于闪存或二级存储设备中,系统也可从某些设备中读取图像。加载器为每个模块分配存储器,为所选的存储器调整图像位置,建立到主程序的任何引用,并将调整后的图像复制到动态存储器中。当加载完成后,动态模块则与应用无缝集成,就象它从初始化之后即存在于系统中一样。

  自加载的典型使用为具备 DSP 功能的支持多种媒体格式的媒体播放器设备。它将每种可能的输入来源、媒体格式、音频效果及输出进程表示为动态模块。当用户选择媒体时,系统将加载适当的模块并开始播放。

图1 DSP 的动态自加载

  MCU 控制的加载

  在典型的 MCU 控制的 DSP 应用中,微控制器管理 一个或更多 DSP 处理器(图 2)。微控制器选择在每个 DSP 上的哪个 DSP 模块或模块集运行,并使用动态加载器加载适当的模块。这种使用在几个重要方面不同于自加载应用。其一,动态加载器运行于微处理器上,而不是运行于正在加载的处理器上。此外, 微处理器通常代表 DSP 管理动态存储器,因为 DSP 要求非直接存储器分配算法。再者,在微计算机控制的加载中,动态图像的加载可能要求通过接口外设进行输出,因为微控制器可能不能直接访问 DSP 存储器的地址。

  主从应用发生于基站、中心局及无线终端中。在基站和中心局中,单一的微控制器管理多个 DSP,每个 DSP 处理多个通道。TI 的 OMAP1610平台是一个典型的无线终端。该设备主要面向手持多媒体应用,其中,系统主机为ARM MCU,其包括 DSP 桥接功能,可控制 TMS320C55x的加载、初始化及代码执行。

图2 MCU 控制的动态加载

  现场测试应用

  在典型的现场实验应用中,服务技术人员给出一系列显示为动态加载模块的测试应用。通常说来,厂商随着时间的发展会增加并改善本测试。用于测试模块的备用存储器加入接受维修服务的产品,并启用实现动态加载。测试设备包括测试模块以及动态加载器和测试控制应用(这里的加载器可能位于测试控制应用中,也可能内置于加入的产品中)。测试设备还包括内置于产品中的加入点定义(这些符号定义可内置于产品中,抑或测试集可将其作为符号模块承载)。诊断测试通过加载各独立测试进行。每个测试都动态连接到其要求的产品软件服务中,如设备驱动程序和状态变量。

  在使用实际测试时,动态加载相对于叠加方法的主要优势在于开发人员不用自己构建测试,以匹配于被测试系统的版本。叠加方法要求与同产品版本号数量以及测试次数相同的测试图像库,而动态加载的方法只要求测试数量加上每个产品版本的符号即可。

  测试集实现线性复杂性而不是平方复杂性,其优势是巨大的。如产品带有内置符号信息,则其可消除最后一项。降低配置复杂性是动态加载在使用实际测试时的最大优势。

  动态加载器的功能与要求

  动态加载器是一个可配置的库或 API,用户可用 C 语言调用,实现方便的接口。除了将程序图像写入 DSP 存储器之外,动态加载器还可以进行必需的链接,使得模块、主应用及其他加载的模块可实现相操作。为了达到此目的,动态加载器不但引用模块外的符号,而且也可记录模块中的任何全局定义,便于外部使用。当加载器卸载模块时,动态加载器进行存储器恢复,这样系统就象从未有过动态模块一样。

  动态加载器要求一组四个支持类(Class)。应用传输实施上述类并配置动态加载器为加载请求中首先四个参数的对象。第一个类为图像源,允许系统集成器定义以流的形式接受输入的机制。源可为外部存储器、外部设备或外设,甚至也可是应用中的嵌入结构。第二个类为符号处理程序,包括映射符号到地址、进行存储器管理以及有关符号的错误报告等功能。动态加载器使用第三个类(DSP 存储器分配程序)来为动态模块请求存储器。一旦动态加载器确定了存储器的内容,动态存储器就会使用第四个类(DSP 存储器初始化程序)来请求系统更新 DSP 存储器分配器返回的存储器地址。

  由于动态加载器链接至用户的应用,因此实施它的代码必须迅速、小巧并具备较强的健硕性。程序员以专为速度进行过优化的算法编写 C 库的代码。主机图像再格式化器是动态重载的另一组件,它可进行离线状态下完成的任何计算。为了高效使用 DSP 的存储器,动态加载器需要最小的存储空间。最后,销售商对动态加载器进行了彻底的测试,因为该代码在运行时出现错误是不可接受的。

  

图3 动态加载的应用开发流程

  开发动态模块

  动态模块的代码开发几乎与标准开发一样。图 3 显示了创建动态模块并进行故障调试的有代表性的开发流程。三个动态加载组件(动态加载器、图像再格式化器以及故障调试器插件)以阴影显示。最初,主应用程序链接至动态加载器库并为动态模块分配存储器。随后,它以正常方式构建模块的可执行程序,不过图像寻址是可通过使用动态加载器执行过程中管理的符号进行再分配的,而不是静态的。

  系统将可再分配的图像作为输入提供给图像再格式化器,图像再格式化器对其进行优化,以备下载。再格式化器去除加载过程中非必需的对象代码部分以减小图像大小。此外,再格式化器针对 I/O 流式加载重新安排图像顺序,格式化图像,使其包括在应用中,为确定输入有效性添加校验和,并为控制模块导出的符号提供接口。

  当系统需要模块时,系统将其流式提供给动态加载器,动态加载器则对其进行处理,并将其写入保留的动态模块存储器中。由于调试器也必须能够链接至模块,因此调试器插件会检测动态模块是否存在,并确定对 应于动态模块的原始对象文件的位置。插件随后会用所有必需的信息更新开发环境,从而启动全面故障调试。

  限制符号导出的重要性

  图像再格式化工具为控制模块导出的符号提供了一个接口。该特性为开发人员隐藏某些符号而让另一些符号可视以便于其他模块引用提供了一种途径。系统使用该功能来控制访问,并使加载时间及存储器面积达到最小。每个可视的符号都要求正在运行动态加载器的处理器给出几字节的存储空间。如果所有链接时符号都可视,那么存储器使用将成为小型嵌入式系统的一个问题。如果再格式化器限制符号导出,那么符号存储器使用通常就不构成问题。

  限制符号导出的另一好处就是实现更快的加载。根据 OMAP1610 平台测试进行的性能分析给出了以下加载时间的统计模型:4250+373×符号 +273×再定位 +6.5×图像_字节。

  上述分析显示,模块中导出符号的数量是开发人员在改善下载速度时能够控制的最主要因素。比较而言,总模块大小的重要性则较小,减小符号数量所起的作用不到 2%。尽管根据 DSP 及系统配置的不同,上述因素与其他非开发人员可控制因素的确切作用比重会有所差异,但最小化外部符号这条首要规则保持不变。

  开放的可能性

  动态加载能为 DSP 系统带来新的应用功能——这正是即将到来的下一代无线技术所需要的发展趋势。高性能 DSP 可加载新型通信算法,而基于 DSP 的手持系统毋需停止系统即可随意下载 Web 内容及多媒体应用模块。动态加载作为 DSP 系统的无缝模块再配置的一种技术,其应用要比多静态程序图像或叠加更为灵活和高效。尽管动态加载还是 DSP 领域中的新生儿,但其将很快成为驱动多种新型多功能 DSP 应用发展的因素 。相信随着许多其他 DSP 创新的出现,开发人员会问:过去没有这种技术,我们都是怎么过来的?

关键字:处理器  基站  终端 引用地址:采用可高效再配置DSP系统的动态加载技术

上一篇:采用可高效再配置DSP系统的动态加载技术
下一篇:TMS320C28x模数转换器的精度校正

推荐阅读最新更新时间:2024-05-02 20:35

联发科技推出NeuroPilot AI平台 主打跨平台终端人工智能
2018年1月9日—北京 ── 联发科技今日宣布推出NeuroPilot 人工智能平台,将终端人工智能(Edge AI)带入各种跨平台设备 —从智能手机、智慧家庭到自动驾驶汽车等。联发科技提供完整的人工智能解决方案,通过整合硬件(AI处理器:Artificial intelligence Processing Unit)及软件(如NeuroPilot SDK),让每年约15亿台采用联发科技芯片的各类消费性电子产品具备AI能力。 联发科技目前为智能语音助理、智能电视及自动驾驶汽车打造的AI解决方案,将会在2018年国际消费电子展(CES 2018)上亮相。届时联发科技将会呈现其AI的能力,以及AI如何重新定义今日的消费设备。
[手机便携]
智能交互终端技术加速纯电动汽车推广
  近日,依托中国电力科学研究院组建的“电动汽车充换电工程技术研究中心”开发了具有路径规划、行驶记录、双向交互等关键技术的新型纯电动汽车智能交互终端,可以全方位监测并记录电动汽车整车和电池运行的各项数据。 该终端通过与智能充换电服务网络系统的信息交互,可以提高充换电服务的信息化和智能化水平,能够及时发现和诊断电池及整车的故障并排除,快捷获取充换电及各类增值服务等纯电动汽车用户最关心的问题。目前该系统已经实现了对成都“十城千辆工程”中所有示范运行的1030辆纯电动汽车、应急充电车及纯电动汽车应急救援车的规模化监控和管理,很好的完成了规模化电动汽车运行监控管理。 该研究结果对于提升纯电动汽车的运营效率和充换电服务水平,促进
[嵌入式]
2014年全球智能手机应用处理器市场规模达209亿美元
StrategyAnalytics手机元器件技术(HCT)报告《2014年智能手机应用处理器市场份额:高通、苹果和联发科攫取前三名》指出,2014年全球智能手机应用处理器市场录得21%的年增长率,市场规模达209亿美元。 StrategyAnalytics预计高通、苹果、联发科、展讯和三星LSI攫取全球智能手机应用处理器市场收益份额前五名。高通再次以52%的收益份额赢得全球智能手机应用处理器市场份额第一名,苹果和联发科以18%和14%的份额尾随其后。 StrategyAnalytics执行总监SravanKundojjala谈到: 凭借高端骁龙芯片强劲的发展势头,2014年高通的骁龙801和805芯片并列保持智能手机应用
[手机便携]
惠普拟用手机芯片替代传统微处理器 减90%能耗
北京时间11月2消息,据国外媒体报道,惠普昨日宣称将会推出一种全新设计的电脑服务器,这种服务器名为Project Moonshot,它利用手机和笔记本电脑中的芯片来取代电脑服务器中传统使用的微处理器,可以减少最多90%的能耗。 这些移动芯片通常运行在较小的电池上,其特点就是省电,在用户拨打电话或上网时,可以自动关闭一些不必要的任务并减缓其他应用程序的运行速度。 惠普超大规模计算业务经理保罗-圣特勒尔(Paul Santeler)说,目前,有50家全球最大的、网络公司使用其电脑服务器。“对于一家拥有庞大用户群的网络公司来说,这种新设计的服务器是很有意义的。”他还说,现在全球每日新增7000台电脑服务器,其中大多数被用于各种网络活
[手机便携]
CEVA 蜂窝基带处理器的出货量占据市场的36%
    针对手机、便携设备和消费电子产品市场的全球领先硅产品知识产权 (SIP) 平台解决方案和数字信号处理器 ( DSP ) 内核授权厂商 CEVA 公司宣布,其 DSP 架构已成为 蜂窝基带 处理器部署的领先 DSP 架构。由 CEVA DSP 内核助力的 蜂窝基带 处理器的出货量已超越了高通、德州仪器和Mediatek公司。全球研究咨询机构Strategy Analytics指出,2010年第三季针对手机和非手机应用提供的 蜂窝基带 处理器数量为4.98亿个 (注1),而同期带有 CEVA DSP 内核的 蜂窝基带 处理器出货量超过了1.78亿个 (占据市场的36%)。最近, CEVA 又攀上了另一个重要的里程碑,由其
[嵌入式]
ASIC都去哪儿了?
上周在看了我的朋友Dave Jones拆解一台旧的Fluke 91 ScopeMeter DSO(数字采样示波器)的视频时,我突然发现,这款有20年历史的测试设备标志着ASIC设计历时10年的衰落正开始显著加速。 Dave打开eBay ScopeMeter,发现其内部有数字和模拟两个主要的电路板。ScopeMeter的数字电路板包含两个ASIC和一个83C196掩码编程的16位微控制器(来自Intel的早期MCS-96系列)。SoC时代开始于1995年,Fluke于1994年构建这款DSO,刚好在处理器开始采用ASIC技术之前,因此我们能够看到有单独的板载微控制器。 ScopeMeter数字电路板上的数字ASIC似乎是闪存存储
[测试测量]
ASIC都去哪儿了?
SUN最新商用处理器入华 号称全球速度最快
8月24日凌晨消息,SUN公司近期推出的商用处理器新品UltraSPARC T2昨日在北京亮相。据悉,它号称是“当今世界上速度最快”的商用处理器。 8月上旬,SUN公司宣布推出UltraSPARC T2。作为SUN公司微电子商用系列产品中的里程碑式产品,UltraSPARC T2拥有8个内核,每个内核包含8个线程,一共可同时运行64个线程。它采用65nm制程,功耗约80W,预计全功能版本的售价不足1000美元。 昨日下午,SUN中国为该款产品举行媒体见面会,Sun中国区市场总监文矩,Sun大中华区企业系统事业部总监吴坚申等管理层出席会议,向国内媒体推介这款首次在中国亮相的新品。 “一个UltraSPARC T2微处理器所拥有的线程数
[焦点新闻]
Intel Lunar Lake超低功耗处理器现身:台积电3nm
3月28日消息,Intel将在今年晚些时候推出的超低功耗处理器Lunar Lake,现在第一次看到了它的验证测试平台,供调试之用的。 和之前官方展示的裸片一样,可以看到由三颗小芯片组成(其中一个应该是占位和保持形状的),一侧整合封装了两颗LPDDR5X内存,另外三个方向都有保护和固定用的金属边框。 之前展示的样片 进一步消息确认,Lunar Lake包含MX Compute Die、MMX SoC Die两个分离式模块,其中前者的制造工艺并非Intel 20A,而是采用了台积电N3B,也就是3nm级别。 它包含4个Lion Cove架构的P核心、4个Skymont架构的E核心,都不支持超线程,也就是最多8核心8线程,也没有
[嵌入式]
Intel Lunar Lake超低功耗<font color='red'>处理器</font>现身:台积电3nm
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved