在DSP处理器上并行实现ATR算法

发布者:rocky96最新更新时间:2010-01-09 来源: 电子技术应用关键字:DSP  自动目标识别(ATR)  并行算法  处理器  软件设计 手机看文章 扫描二维码
随时随地手机看文章

    自动目标识别(ATR)算法通常包括自动地对目标进行检测、跟踪、识别和选择攻击点等算法。战场环境的复杂性和目标类型的不断增长使ATR算法的运算量越来越大,因此ATR算法对微处理器的处理能力提出了更高的要求。由于通用数字信号处理芯片能够通过编程实现各种复杂的运算,处理精度高,具有较大的灵活性,而且尺寸小、功耗低、速度快,所以一般选择DSP芯片作为微处理器来实现ATR算法的工程化和实用化。

    为了保证在DSP处理器上实时地实现ATR算法,用算法并行化技术。算法并行化处理的三要素是:①并行体系结构;②并行软件系统;③并行算法。并行体系结构是算法并行化的硬件基础,并行算法都是针对特定的并行体系结构开发的并行程序。根据DSP处理器的数目,ATR算法的并行实现可以分为处理器间并行和处理器内并行。处理器间并行是指多个DSP处理器以某种方式连接起来的多处理器并行系统,ATR算法在多个处理器上并行招待。根据处理器使用存储器的情况,多处理器并行系统又可分为共享存储器多处理器并行系统和分布式多处理器并行系统。处理器内并行是指在单个DSP处理器内通过多个功能单元的指令级并行(ILP)来实现ATR算法的并行化。本文分别对在共享存储器多处理器并行系统、分布式多处理器并行系统和指令级并行DSP处理器上并行实现ATR算法进行了探讨。

1 在共享存储器多处理并行系统上实现ATR算法

    在共享存储器多处理器并行系统中,各个处理器通过共享总线对所有的存储器进行操作,实现各个处理器之间的数据通信。而在任一时刻,只允许一个处理器对共享总线进行操作。所以处理器对存储器进行读/写操作时就必须先获得对共享总线的控制权,这通过总线仲裁电路实现。然而,由于所有的处理器只能通过一条共享总线对存储器进行访问,这在处理器数目比较多或者处理器之间频繁交换数据的情况下容易引起总线冲突和等待而降低整个并行系统的运行速度。共享存储器多处理器并行系统的优点是结构简单,当处理器的数目较少时,可以达到较高的加速比。

    ADSP2106x处理器支持最为常用的共享存储器多处理器并行系统,组成多处理器系统的每一片ADSP2106x的片内存储器统一编址,任一ADSP2106x可以访问其它任何一片ADSP2106x的片内存储器。由于片内SRAM为双口存储器,因而这种访问并不中断被访问处理器的正常工作。每个处理器片内SRAM既是该处理器的局部存储器,又是共享存储器的部分。在不增加辅助电容的情况下,通过外部总线接口直接相连的处理器数量最多为6个。由于每个处理器的工作程序放在其片内的双口SRAM中,因此各个处理器可以实现并行处理,这是ADSP2106x的存储器结构所决定的。

    ATR算法在共享存储器多处理器并行系统中实现时,在编写并行算法程序方面应当重点考虑的问题包括:

    (1)均衡地把任务分配给各个处理器

     ATR算法在共享存储器多处理器并行系统中实现任务级并行,因此必须把ATR算法划分为计算量均衡的多个任务,把各个任务分配给多个处理器,才能发挥多处理器并行系统的最大并行效率。

    (2)尽量减少多处理器之间数据通信

    由于多处理器只能通过一条共享总线对存储器进行访问,这在多处理器之间频繁交换数据的情况下容易引起总线竞争而降低整个并行系统的运行速度。

    (3)利用单个处理器的并行编程特性

    充分应用单个处理器的并行编程特性,有利于缩短各个处理器上任务的运行时间。例如,ADSP2106x的32位浮点运算单元包含一个乘法器、一个加法器和移位逻辑电路,它们并行工作;比特倒转寻址在傅立叶变换运算时非常有用;循环寻址在作卷积、数字滤波运算时经常用到等。

2 在分布式多处理器并行系统上实现ATR算法

    在分布式多处理器并行系统中,多处理器有各自独立的存储器,多个处理器通过通信口相连构成分布式多处理器并行系统。分布式多处理器并行系统的加速比和处理器的数目呈线性关系,所以只要增加处理器的数目,分布式多处理器并行系统的处理能力就能够成比例地增加。分布式多处理器比较适合于构成大规模并行系统。

    目前,计算量过大仍然是制约许多有效的ATR算法实时实现的个主要因素。ATR算法在分布式多处理器并行系统上实时实现是一个很有潜力的研究领域,特别在地基和天基雷达信号处理系统中有广阔的应用前景。分布式多处理器并行系统的连接方式有线形、树形、星形、网孔和超立方体结构等。树形和星形网络的优点是网络管理容易、数据通信进寻径简单;缺点是树形网络的根节点处理器和星形网络的中央节点处理器的输入/输出吞吐量大,易造成通信瓶颈。所以树形和星形网络不适合ATR算法各个任务数据通信量较大的应用场合。

    在分布式多处理器并行系统中并行实现ATR算法目前还处于研究的初始阶段,在编写并行算法程序应当重点考虑两个方面:

    (1)各处理器任务的均衡分配

     在分布式多处理器并行系统中处理器的数目通常较多,只有合理地对众多的处理器均衡地分配任务,才能最大地发挥并行系统的总体性能,提高并行系统的加速比。

    (2)处理器节点间的高效通信

    在分布式多处理器并行系统中数据通信都是点对点通信。即两个相邻的处理器之间通过通信口通信。因此需要合理安排各个处理器节点在网络结构中的位置,尽可能地缩短处理器节点间的通信路径长度,从而实现处理器节点间的高效数据通信。

3 在指令级并行DSP处理器上实现ATR算法

    在单片DSP处理器内通过多个功能单元的指令级并行(ILP)实现ATR算法的并行化处理,目前适合ATR算法实时处理的指令级并行芯片是TI公司的TMS320C6x系列DSP。TMS320C6x系列DSP处理器是第一个使用超长指令字(VLIW)体系结构的数字信号处理芯片。下面以TMS320C62x定点系列DSP为例说明指令级并行的原理和ATR并行算法软件开发方法。

    3.1 VLIW体系结构

    TMS320C62x的内核结构如图1所示。内核中的8个功能单元可以完全并行运行,功能单元执行逻辑、位移、乘法、加法和数据寻址等操作。内核采用VLIW体系结构,单指令字长32位,取指令、指令分配和指令译码单元每周期可以从程序存储器传递8条指令到功能单元。这8条指令组成一个指令包,总字长为256位。芯片内部设置了专门的指令分配模块,可以将每个256位的指令分配到8个功能单元中,并由8个功能单元并行运行。TMS320C62x芯片的最高时钟频率可以达到200MHz。当8个功能单元同时运行时,该芯片的处理能力高达1600MIPS。

    3.2 基于TMS320C62x的并行算法软件开发方法

    基于TMS320C62x的并行编译系统支持C语言和汇编语言开发并行程序代码。通常,开发ATR并行算法按照代码开发流程的三个阶段进行并行程序设计:第一阶段是开发C代码;第二阶段是优化C代码;第三阶段是编写线性汇编代码。以上三个阶段不是必须的,如果在某一阶段已经实现了ATR算法的功能和性能要求,就不必进入下一阶段。

    (1)开发C代码

    开发C代码需要考虑的要点包括:

    ①数据结构

    TMS320C62x编译器定义了各种数据结构的长度:字符型(char)为8位,短整型(short)为16位,整型(int)为32位,长整形(long)为40位,浮点型(float)为32位,双精度浮点型(double)为64位。在编写C代码时应当遵循的规则是:避免在代码中将int和long型作为同样长度处理;对于定点乘法,应当尽可能使用short型数据;对循环计数器使用int或者无符号int类型,避免不必要的符号扩展。

    ②提高C代码性能

    应用调试器的Profile工具可以得到一个关于C代码中各特定代码段执行情况的统计表,也可以得到特定代码段招待所用的CPU时钟周期数。因此可以找出影响软件程序总体性能的C代码段加以改进,通常是循环代码段影响软件程序总体性能。

    ③数据的定标

    由于TMS320C62x是定点系列芯片,不支持浮点操作。在程序编写过程中,应当尽量采用定点的数据结构。而实际处理的数据通常都是浮点的,所以需要把浮点数据通过定标转化为整型数据处理,提高程序的处理速度。数据的定标是十分关键的步骤,既要使数据处理精度满足性能要求,又要防止在数据处理过程中出现溢出。

    (2)优化C代码

    优化C代码包括向编译器指明不相关的指令、循环展开、循环合并、使用内联函数、使用字访问短整型数据和软件流水等方法。

    ①向编译器指明不相关的指令

    为使指令并行操作,编译器必须确定指令间的相关性,只有不相关的指令才可以并行执行。如果编译器不能确定两条指令是不相关的,则认为是相关的,安排它们串行招待。用户可通过如下方法指明相关的指令:

    ·关键字const可以指定一个目标,const表示一个变量或者一个变量的存储单元保持不变,使用const可以提高代码的性能和适应性。

    ·一起使用-pm选项和-03选项可以确定程序优先级。在程序优先级中,所有源文件都被编译成一个模块,从而使编译器更有效地消除相关性。

    ·使用-mt选项向编译器说明在代码中不存在存储器相关性,即允许编译器在无存储器相关性的假设下进行优化。

    ②循环展开

    循环展开就是把循环计数小的循环展开,成为非循环形式的串行程序,或者把循环计数大的循环部分展开,减少循环迭代次数,增加单个循环内的代码,使得循环内的操作可以均匀分布在各个功能单元上,保持DSP处理器的各个功能单元满负荷运行。

    ③循环合并

    如果两个循环计数差不多、循环执行互不相同的操作,可以把它们合并在一起组成一个循不。当两个循环的负荷都不满时,这是非常有用的。

    ④使用内联函数

    TMS320C62x编译器提供的内联函数是直接映射为内联指令的特殊函数,内联函数的代码高效、代码长度短。用户可以使用内联函数并行优化C代码。

    ⑤使用字节访问短整型数据

    内联函数中有些指令是对存储在32位寄存器的高16位和低16位字段进行操作的。当有大量短整型数据进行操作时,可以使用字(整型数)一次访问两个短整型数据。然后使用内联函数对这些数据进行操作,从而减少对内存的访问。

    ⑥软件流水

    软件流水是用来安排循环指令,使这个循环多次迭代并行执行的一种技术。在编译时使用-o2和-o3选项,编译器可对循环代码实现软件流水;使用-o3和-pm选项,使优化器访问整个程序,了解循环次数;使用_nassert内联函数,防止冗余循环产生;使用投机执行(_mh选项)消除软件注流水循环的排空,从而减少代码尺寸。

    在嵌套循环中,编译器仅对最里面的循环执行软件流水,因此对招待周期很少的内循环作循环展开,外循环进行软件流水,这样可以改进C代码并行执行的性能。使用软件流水还应当注意:尽管软件流水循环可以包含内联函数,但是不能包含函数调用;在循环中不可以有条件终止指令;在循环体中不可以修改循环控制变量。

    (3)编写线性汇编代码

    编写线性汇编代码是并行算法软件开发流程的第三个阶段。了提高并行算法软件代码的性能,对影响并行程序速度的关键C代码可以用线性编重新编写。编写线性汇编代码不需要指明使用的寄存器、指令的并行与否、指令的延迟周期和指令使用的功能单元,汇编优化器会根据情况确定这些住处。优化线性汇编代码的方法包括:为线性汇编指令指定功能单元,使得最后的汇编指令并行执行;使用字访问短整型数据;使用软件流水对循环进行优化。编写线性汇编代码的工作量非常大,需要很长的开发周期,而且开发后的汇编代码不能像C代码那样移植在其它的DSP平台上。

    应用上述并行程序开发方法,在TMS320C6201 EVM板上实现了宽带毫米波雷达目标时延神经网络识别算法。经过实际测试,并行算法程序执行时间为0.850ms,满足了目标识别算法的实时性需求。

关键字:DSP  自动目标识别(ATR)  并行算法  处理器  软件设计 引用地址:在DSP处理器上并行实现ATR算法

上一篇:TMS320C3x DSP和PC机的异步串行通信设计
下一篇:基于DSP和DDS的三维感应测井高频信号源实现

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

Strategy Analytics手机元件技术服务最新发布的研究报告
Strategy Analytics手机元件技术服务最新发布的研究报告《2016年Q2基带芯片市场份额追踪:联发科和展讯合占LTE基带芯片出货量份额的三分之一》指出,2016年上半年,全球蜂窝基带处理器市场规模为105亿美元,比去年同期下降2%。 Strategy Analytics发布的报告指出,2016年上半年,高通、联发科、三星LSI、展讯和海思半导体统揽基带收益份额的前五名。尽管竞争激烈,但高通仍以50%的收益份额引领基带芯片市场;联发科以23%的收益份额排名第二;收益份额为12%的三星LSI排名第三。LTE基带芯片市场规模继续呈两位数强劲增长,而3G和2G基带芯片细分市场规模却在2016年上半年大幅缩水。 Strat
[手机便携]
配置曝光:诺基亚9 (2018)或将支持屏内指纹识别
    去年年底的时候,有外媒曝光了诺基亚9 (2018)的渲染图,而在本月早些时候,外媒又曝光了这款手机的配置细节,若曝光消息属实,那么这款手机将是诺基亚的年度旗舰。该机将采用一块5.7吋大小的无边框显示屏,而屏幕比例则是18:9,并搭载骁龙845处理器。   此前还有消息称诺基亚9 (2018)还将支持屏内指纹识别功能,现在又有“可信赖”资源透露该机的确将采用屏下指纹识别功能。目前,vivo为唯一一家发售屏下指纹识别的手机制造商。 屏下指纹识别功能   除此之外,诺基亚9(2018)在设计、相机等方面都将迎来突破性创新,或还将引用iPhone X的“刘海”屏。   那么,事实的真相是否如呢?我们还将拭目以待。
[手机便携]
基于DSP在无刷直流电机控制中的应用
script src="/jf/jf-arcMain-1.js" type=text/javascript /script script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20110330/r20110406/show_ads_impl.js" /script script src
[嵌入式]
基于<font color='red'>DSP</font>在无刷直流电机控制中的应用
基于DSP和OZ890的电池管理模块电路设计
  本设计主要实现数据采集、电池状态计算、均衡控制、热管理、各种通信以及故障诊断等功能。电池管理系统电路由电源模块、DSP芯片 TMS320LF2407A(简称为“LF2407”)、基于多个OZ890的数据采集模块、I2C通信模块、SCI 通信模块、CAN通信模块组成。OZ89采样模块将采集处理后的数据通过I2C总线发送到LF2407,由于LF2407自身不带I2C 接口,本设计利用PCA9564扩展其I2C接口。为了防止电磁干扰影响I2C总线上数据的传输,必须对总线信号进行隔离,考虑到I2C 总线是双向传输的,使用ADuM1250双向隔离芯片进行隔离。PCA9564及双向隔离电路如图所示。   PCA9564 是I2C 总线
[嵌入式]
基于<font color='red'>DSP</font>和OZ890的电池管理模块电路设计
以ARM处理器为基础的吸尘机器人硬件设计方案详解
随着人们生活水平的日益提高,我国人口的老龄化也越来明显,吸尘机器人作为服务机器人的一种,能够代替人进行清扫房间、车间、墙壁等一些简单劳动。 使服务机器人有了广阔的场,已成为一些企业和科研院所研究的焦点。目前市场上的吸尘机器人虽然也具有智能性,但大多由于结构不尽合理、通用性差、集成度高而导致成本高,不利于普及。在研究总结市场上相对成熟产品的基础上,基于ARM Cortex-M3处理器设计一款具备自我导航功能的室内吸尘机器人。外形紧凑、结构简单、运行平稳、噪音小,并且成本低,操作方便,还具有可扩展接口,用户能够根据实际需要对其功能做进一步开发。 1吸尘机器人总体构成 利用ARM Cortex-M3处理器设计一款应用于室内的移动
[单片机]
以ARM<font color='red'>处理器</font>为基础的吸尘机器人硬件设计方案详解
2013下半年应用处理器市场集中度提高
    应用处理器市场生态在2013年已产生明显的变化,中低价产品成为市场主流,竞争越来越严苛,高阶产品虽仍仅有少数玩家,但DIGITIMES Research认为厂商组成在年内将会有相当程度的变化,2012年表现强势的NVIDIA市占会有明显的下降,三星电子(Samsung Electronics)积极推广自有处理器,亦将明显排挤其他晶片供应商。 另外高阶市场的新玩家方面,联发科下半年平板电脑与智慧型手机都将有对应的产品推出,乐金电子(LG Electronics)也将学习三星推出自有架构,华为过去在自有处理器的推广虽不算成功,但其下半年的高阶新架构产品仍值得观察。此外,最值得关注的是英特尔(Intel)与超微(AMD),虽采用x
[手机便携]
三星发布Exynos 9810芯片 CES展会将正式登场
北京时间1月4日,三星官方低调发布Exynos 9810芯片,这是三星旗下全新的旗舰级手机处理器。 三星Galaxy S9电商价格读取中。。。   Exynos 9810采用三星第二代10nm(FinFET)工艺制程打造,相较第一代LPE(Low Power Early),可让芯片性能提升10%,功耗降低15%。   Exynos 9810设计为8核心,采用三星基于ARM Cotex的第三代自研架构,其中大核主频2.9GHz,拥有四颗2.9GHz的第三代高性能定制核心和四颗效率优化核心的4+4核心配置。相较于Exynos 8895,单核性能翻番,多核性能提升了40%,外界预计GB4单核心在4000分,多核心有望破万。   基带
[手机便携]
华硕8z海外市场发布,5.9英寸小屏,骁龙888处理器
这段时间手机市场上新了不少新机,当然海外市场也是没有闲着,各个档位的产品也发布了不少。小编看了一下最近发布的新机,华硕8z算是性价比比较高的一款,接下来小编就和大家一起来盘点一下这款新机的相关配置。 该机的正面采用的是常规的左上角单打孔全面屏设计,采用5.9英寸FHD+ 分辨率120Hz刷新率 AMOLED屏,1100尼特亮度,支持 HDR10+。机身厚8.9mm,重169g,算是比较轻薄的一款机型,而且屏幕素质还是不错的,尤其是120Hz的高刷,可以说是非常值得体验。 其他方面,该机后置采用64MP主摄 + 12MP超广角镜头双摄组合,前置12MP单摄。影像配置正常水平,没有特别突出的地方。该机内置4000mAh容量电池
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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