基于多核处理器的弹载嵌入式系统设计研究

2013-08-10 10:21齐恩勇
电子设计工程 2013年6期
关键词:单片内核处理器

齐恩勇

(中国空空导弹研究院 河南 洛阳 471009)

弹载信息处理系统是一种实时嵌入式数字处理系统,用于对弹载导引系统接收信号进行分析处理,实现对目标信号的检测、截获和跟踪以及目标信息的提取,是弹载雷达导引系统的关键组成部分。随着军事技术的发展,未来空战面临着越来越严酷的战场环境,对于弹载雷达导引系统的探测能力以及反隐身、抗干扰等性能提出了更高的要求。为此需要采用复杂处理算法,如数字波束形成、空时自适应处理技术、杂波抑制、低信噪比信号检测和识别、超分辨等,提高系统目标探测和抗干扰能力。数据处理复杂度越来越大、实时性要求越来越高,同时弹载应用环境对系统功耗、尺寸又有着严格的限制,因此需要运算速度更快、容量更大、功耗更低的数字处理平台来实现这些功能需求。基于单核DSP的信号处理实现方式难以适应大运算量实时处理的新需求,传统的DSP互联技术是将多个单核DSP用高速接口连接在一起[1],但是这样的系统架构会带来功耗和尺寸方面的问题。采用基于单片异构多核处理器的信号处理平台成为发展趋势,以实现高速实时并行处理平台的小型化、低功耗设计[2-3],显著提高弹载信息处理系统的信号与信息处理能力。

1 多核处理器TMS320C6678性能

单核DSP其性能通常由时钟频率来评价,然而DSP的时钟频率并不能做到直线上升,单片单核结构受限于速度极限,很难再有更大发展空间[2];随着应用系统复杂性持续增加,只通过提高时钟频率来增强处理性能达到了极限。单片多核的结构将成为DSP发展的主流,应用单片多核处理器,将显著提升弹载雷达信息处理系统性能,并能实现弹载雷达信息处理平台更进一步的小型化。

多核DSP是近年来针对高性能嵌入式应用而出现的一类多核微处理器(MultiCore MicroProcessor)。相比传统的单核处理器,多核处理器在提高并行处理能力的同时配置了更高的存储带宽和更灵活的存储结构。TMS320C6678是TI公司的最新型的KeyStone架构多核DSP[3-4],该DSP集成了8个DSP内核,每个内核频率可达1.25 GHz;定点运算能力为320 GMAC,浮点运算能力可达160 GFLOPS,运算能力比现在主流的DSP(如TS101)有大幅提高(TS101的内核时钟是300 MHz,浮点运算能力为1 800 MFLOPS),充分体现并行处理的理念。每个DSP内核配置32 kb的一级局部程序缓存器、32 kb的一级局部数据缓存器和512 kb的二级局部缓存器。TMS320C6678的功能原理图如图1所示。

图1 TMS320C6678功能原理图Fig.1 Functional block diagram of TMS320C6678 DSP

基于KeyStone体系架构,能够确保多核DSP的每一个内核发挥全面的处理功能,TMS320C6678除了具有多DSP内核导致的运算处理能力提高,还提供了丰富的对外通信接口以及存储单元的支持,增强了处理器对外高速数据交换的吞吐能力。Keystone多核架构为RISC和DSP内核以及专用协处理器和I/O的集成提供了一种高性能的系统结构,Keystone架构能够在处理器内核、外部设备、协处理器和I/O之间建立无阻塞数据传输,这主要基于多核导航器(Multicore Navigator)、TeraNet、 多核共 享存储区 控制器 (Multicore Shared Memory Controller,)和超链接总线(HyperLink)。 超链接总线和高速输入输出接口实现DSP与外界信息传输,TeraNet总线结构(速度为2Tbps)把所有组成部分有机联系在一起,包括作为主要处理单元的多个内核以及通信协议处理器和数据信息包传输协处理器,能实现快速无冲突的内部数据传送。

多核共享存储控制器(MSMC)配有DSP内核共享的4 MB SRAM存储器,对共享存储器存取和信息包传输能够并发进行;为了实现对外部存储器快速存取,提供了速度为1 600 MHz的64位DDR3接口,寻址存储空间可达到8 GB。多核导航器配置控制8192个多用途硬件队列的队列管理器,建立基于DMA的零开销信息包传送通道,当需要并行处理的多任务被分配到队列中,多核导航器通过将任务引导到适当的可用硬件来实现任务的加速派遣。网络协处理器支持信息包传送加速和安全加速引擎,增强了与上位机的通信功能。TMS320C6678提供丰富的高速外设接口:四路串行高速IO(SRIO),每路传输速度最高可达到5 GBaud;两通道PCIe-II传输,每通道速度最高可达5 GBaud;超链接总线(HyperLink)支持与其他具有KeyStone架构的器件互连,传输速度可达到50 GBaud;16位扩展存储器接口,支持256 MB NAND Flash和16 MB NOR Flash,支持异步SRAM容量可达到1 MB;以及16个GBIO接口等,诸多高速的外部接口可以保证多通道高采样率的大量数据实时进入DSP内核进行处理。另外,TMS320C6678具备动态电源监测和SmartReflex电源管理技术,能够在低功耗和强大运算处理能力之间达到性能平衡。

综上所述,TMS320C6678处理器为弹载高速实时大容量数据处理、数据传输和复杂算法实现提供了强大的硬件平台基础。其中的Keystone架构提供了一种集成了片内各种子系统的可编程平台,该架构使用多种开创性的技术和硬件组成使得芯片内部和芯片之间的数据信息传输达到最佳化,从而保障各种DSP资源能够高效无缝发挥作用。这种体系架构的中枢是称为多核导航器的关键组成单元,它能够实现各种芯片组成之间高效的数据管理,对各内核进行管理和协调,使得DSP内核高效互联,保证多核处理器的效能得到发挥。Teranet交换网络能实现2Tbps的无阻塞信息交换,能进行快速无冲突的内部数据传送,多核共享存储控制器确保处理器内核无需通过数据传输网络就能够直接存取共享存储器和外部存储器。

2 基于多核DSP的软件设计

为了有效发挥多核DSP系统的运算处理和数据传输能力,获得多核DSP实际应用系统的最佳性能,需要进行相应的基于多核DSP的系统软件设计,软硬件的有机配合,确保多核DSP的功能和性能真正发挥作用[5-6]。对于基于多核DSP的信息处理系统,尽管多核DSP提供了高性能硬件基础,在系统设计过程中,需要考虑每个内核之间的任务分配和信息传输,因此,为充分利用多核DSP的硬件优势,多核DSP系统并行软件设计是关键,多核DSP对软件设计提出新的挑战,同时也导致软件设计理念和设计方法的改变。

TMS320C6678集成了8个DSP内核,多内核之间的任务分配和系统处理算法直接影响多核系统的性能和效率。任务分配的目的就是合理配置系统资源,设法减少DSP内核间的通讯开销。均衡负载[5]是将系统承担的任务合理地分配给各DSP内核,以提高系统吞吐量。显然,减少通讯量和均衡负载是相互矛盾的,因此,系统任务分配策略也就是最大限度地减少各子系统间的通讯量,同时均衡各子系统间的负载,以提高整个系统的性能。

为了全面挖掘多核处理器的潜力、充分利用多核处理器的优势,软件设计人员必须掌握相应的并行软件设计技术,将弹载信息处理系统任务映射到各DSP内核。任务并行是指软件中的独立任务同时执行。对于一个单核处理器,各单独任务必须共享同一个处理器;而在一个多核处理器上,各任务实质上是相互独立运行,从而导致更高效的任务执行。

为了将弹载信息处理系统映射到多核处理器,需要识别任务的并行度并相应选择最适宜的处理模式[5-6]。弹载多核DSP系统的并行处理模式可采用数据流模式。数据流模式表现为分布式控制和执行,处理任务依次通过如同流水线一样的各处理阶段。每个内核使用各种算法处理一组数据,然后这些数据被传送到另一个内核做进一步处理。初始内核通常与一个输入接口相连接,通过该接口可接收来自A/D转换器或FPGA的待处理的初始数据。调度的触发依赖于数据的可用性。由于弹载信息处理系统包含大量复杂的运算成分和信号与信息处理算法,它们互相关联且不可能在一个内核上处理完成。采用该模型需要将复杂的处理任务划分到各内核并确保系统具有高数据流动速率。系统的组成通常需要被拆分并映射到多个内核中,并确保处理数据有规则地流水传送。高速数据传输速率要求各内核之间具备适宜的存储带宽,各内核之间数据流动是规则的,并确保数据传送开销低。数据流处理模型[6-7]如图2所示。该处理模型要求每个处理器内核映射一个或多个任务,而各内核之间通过消息传递实现运行同步;各内核之间的数据传送通过共享存储器或DMA方式进行。

图2 数据流处理模型示意图Fig.2 Schematic illustration of data flow processing model

对于多核信息处理系统,完成并行任务的辩识后,任务的映射和调度也需要精心策划。多核并行处理系统软件设计可以遵循四步处理法原则,即发现并行执行的机会,其核心是定义大量的小型任务,以便得到待解决问题的高效分解;定义任务之间的信息流动和数据传输;确定在多核架构上高效运行的任务组;以及将各任务映射分配到各内核中,确定每个任务将由哪个内核执行。为了提高多核系统软件开发效能,开展基于嵌入式实时操作系统的软件开发,在操作系统和多核软件开发工具支持下,自动识别任务的并行性并将各处理任务映射到单个内核,为多个实时任务合理分配资源[8],有效实现系统进程管理,方便多任务程序实时调度,确保多核DSP能够发挥最佳系统性能。

3 结束语

随着DSP技术的不断发展和应用需求的不断提高,单片多核处理器结构逐渐成为DSP发展的主流,单片多核处理器具有强大的多任务实时运算处理能力,同时具备数据搬移、通讯、资源共享和存储器管理等有利于并行任务执行的丰富硬件配置,能很好地支持多任务实时并行处理。对于小尺寸、低功耗且运算处理性能要求极高的弹载信息处理系统,多核DSP使得弹载雷达信息处理能够实时实现目标探测识别以及目标信息高分辨测量等复杂系统算法,能够带来性能/功耗比的大幅提升。采用多核DSP也成为弹载雷达信息处理系统的发展趋势。对于多核DSP应用系统,软件设计是多核DSP性能能否充分发挥的系统设计关键。对于基于多核DSP的弹载信息处理系统,运用数据流处理模式将系统处理任务划分映射到各处理器内核以实现高效实时并行处理。在嵌入式实时操作系统和多核软件开发工具支持下,开展基于多核DSP并行软件开发将成为弹载信息处理系统软件设计的新课题。

[1]李锡武,毛先俊.基于DSP的并行软件系统的设计与实现[J].计算机工程与设计,2007,28(21):5183-5185.LI Xi-wu,MAO Xian-jun.Design and implementation of parallel software system based on DSP[J].Computer Engineering and Design,2007,28(21):5183-5185.

[2]汪东.浅析SoC时代的多核DSP产品与关键技术[J].今日电子,2005(8):46-50.WANG Dong.Elementary analysis on multicore DSP products and critical technologies of SoC era[J].Electronic Products China,2005(8):46-50.

[3]TMS320C6678 Data Manual[M].Texas Instruments Inc.,November,2010.

[4]汪健,张磊,赵忠惠,等.多核系统中NoC通讯架构的关键技术[J].电子科技,2012(6):47-52.WANG Jian,ZHANG Lei,ZHAO Zhong-hui,et al.Study of on-chip network communication architecture for the multicore processors system[J].Electronic Science and Technology,2012(6):47-52.

[5]李鑫,姜明.多核DSP高速实时信号处理系统设计,光学技术[J].2012,38(1):116-120.LI Xin,JIANG Ming.Realization of a real time signal processing system based on multi-core DSP[J].Optical Technique,2012,38(1):116-120.

[6]Multicore Programming Guide[M].Texas Instruments Inc.,August,2009.

[7]徐艳群,张斌,秦小铁.一种基于GFKM的集群入侵检测模型[J].重庆师范大学学报:自然科学版,2013(1):81-83.XU Yan-qun,ZHANG Bin,QIN Xiao-tie.Clustering intrusion detection model based on Grey Fuzzy K-mean clustering[J].Journal of Chongqing Normal University:Natural Science,2013(1):81-83.

[8]辛熠,杨瑞民.多核DSP编程技术研究[J].电子测试,2011(9):81-85.XIN Yi,YANG Rui-min.Programing technology on multicore DSP[J].Electronic Test,2011(9):81-85.

猜你喜欢
单片内核处理器
多内核操作系统综述①
强化『高新』内核 打造农业『硅谷』
高速PEMFC 单片电压监测系统设计
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
基于单片试样法的电工钢片智能化动态磁特性测量系统设计
一种具有0.5dB噪声系数的450~470MHz单片集成LNA
ADI推出新一代SigmaDSP处理器
火线热讯
AItera推出Nios II系列软核处理器