非对称嵌入式数据处理模块设计分析

时间:2022-04-29 14:39:54

非对称嵌入式数据处理模块设计分析

摘要:针对车载、机载等嵌入式计算系统对小体积、低功耗、高计算能力等方面的要求,基于多核处理器设计了一款非对称嵌入式数据处理模块,该模块对外通过光纤互联网络和其余设备高速连通交互,具有良好的互连通性和互操作性。采用非对称嵌入式系统架构,模块内各处理器内核可根据不同的任务等级或安全等级,部署不同的的任务,为整体提供公共计算能力同时时兼顾容错特性,有助于上层管理系统动态规划分配任务,提升系统性能。模块可适配嵌入式实时操作系统,具备良好的计算能力和实时性。

关键词:多核处理器;非对称嵌入式系统;光纤互联网络

1概述

随着半导体技术的发展,嵌入式电子系统逐步向着更高集成度不断提升。以航空机载电子系统为例,在新型的综合核心处理平台上,既要保证具备足够高的任务/数据可靠性,又要使计算节点/单元具有更高计算的性能、更低的功耗、占用更小的体积,因此多核处理器在机载计算等方面中得到广泛的应用[1]。多核处理器通常在处理器芯片上集成两个或两个以上的内核,作为提升处理器性能的主要方式之一,相比通过提升内核主频来提升处理器性能的方式,可有效地降低处理功耗,同时还可规避处理器的主频提升带来的技术瓶颈等问题[2]。相比单核处理架构,多核处理器架构功耗更低,通信延迟更低。多核处理器以自身的优点在并行处理和高性能计算等方面得到了广泛的应用。在嵌入式系统方面,根据多核处理器上各个核心是否运行相同的任务,嵌入式系统可以分为两大类:(1)非对称结构,(2)对称结构。对称结构通常指在多核处理器的不同内核心上运行或部署相同或类似的任务,不同核心对于顶层应用程序或子任务来说可近似认为对等。非对称结构通常指多核处理器的不同内核心上运行或部署不同的任务,各核之间的使用可根据应用程序完成不同的任务,具有一定的独立性[3]。在非对称嵌入式系统每个核心可以运行自己的特殊任务,对上层管理系统而言,可近似认为不同核心分别为不同的计算资源,上层管理系统可根据系统的状态和系统实时的计算任务对不同核心资源进行动态分配,特别是在系统需要对不同安全等级或优先等级的任务进行动态分配时,非对称嵌入式系统具有无可比拟的优势。采用常见的多核处理器设计了一款非对称嵌入式数据处理模块,该模块对外通过光纤互联网络和其余设备高速连通交互,具有良好的互连通性和互操作性。模块可适配嵌入式实时操作系统,具备良好的计算能力和实时性。在此对该模块设计从需求和软硬架构方面进行阐述。

2需求分析

随着车载、机载等嵌入式计算系统的任务复杂程度的增加,对嵌入式电子设备提出更高的要求。数据处理模块作为重要的计算资源,要求具备更多、更快的数据处理和任务处理能力,要求在相同体积及功耗下具备更高计算能力、更强的通信性能,且系统需具备足够的灵活性,可以快速维修更换和系统扩展。从系统角度考虑,数据处理模块需支持高速互联总线,可接入整个机载或车载计算环境系统中,并为系统提供足够的算例。在适配操作系统方面,和整个系统需保持一致,便于进行上层应用程序,并为应用程序扩展和移植打下良好的基础。数据处理模块硬件搭载与之配套软件,可以完成系统要求的任务,为整个系统提供良好的计算资源及系统服务,可使上层应用安全稳定地运行。充分考虑到整个系统资源共享及健康管理,要求数据处理模块具备通用性,计算能力提供给整个系统实现资源共享,处理器内部不同核之间具有一定的容错特性。

3硬件设计

3.1硬件架构

模块硬件上主要包含多核处理模块电路、电源模块、FC子卡模块等,模块硬件架构如图1所示。整机采用标准化结构设计,整机结构安装便捷,可满足快速外场更换的需求。数据处理模块整体以多核处理模块电路为基本电路,电源模块和多核处理模块之间通过柔板高速连接器互联,FC子卡通过特定高速连接器和基本进行互联。其中FC子卡采用标准子卡,保持和系统中其余互联产品的一致性,可大大提升系统的开发效率,提升经济性。模块整体对对接口包括光信号接口、RS232接口、以太网接口和离散量接口。模块对外接口可根据系统要求进行定制,可在不改变主要电路的同时,最大程度满足不同系统对计算资源的需求。

3.2多核处理器电路设计

以freescale公司的P5020处理器为例,对多核处理器电路进行设计。P5020处理器采用PowerPC架构,基于PowerArchitectureR技术,其具有处理器性能高、集成度高的特点。P5020处理器集成了两个高性能e5500处理器核,频率范围可扩张到2.2GHz,具有三级缓存:32KB数据/指令L1,每内核512KB专用L2和2MB共享L3。P5020处理器主要接口支持如下[4]:(1)支持串行RapidIOR。(2)支持PCIExpressR(PCIe)修订版1.1/2.0,多达4个PCIe2.0/3.0控制器。(3)支持SATA。(4)以太网接口:10Gbps以太网MAC,5个1Gbps以太网MAC。(5)两个I2C控制器。(6)支持GPIO、eSPI。(7)两个DUART。多核处理器电路硬件采用最小系统设计,模块电路示意框图如图2所示,多核处理器周围设计了看门狗电路、离散量电路、调试接口电路、复位电路、测温电路以及局部资源(DDR3、FLASH、NVRAM)等电路。看门狗电路、离散量电路、调试接口电路、复位电路、测温电路考虑到成本和开发进度方面,采用目前成熟的设计电路,最大程度集成之前成熟产品的成果,器件选型尽量和成熟电路保持一致。

3.3电源模块

电源模块在功能上:具有电压转换、输出过流、短路及过压保护功能,在功能电路部件组成上主要包括:电压转换电路、抗过压浪涌、升压电路、滤波电路储能电路等。在电源模块的输入端设计滤波器电路,采用电容滤波设计共模滤波,使用LC滤波的方式设计差模滤波电路。在整机设计布局时,电源模块和多核处理器电路之间要有足够的距离,可满足多核处理器电路上散热器件的自然散热要求。

3.4互联网络

光纤通道(FC)网络是一种具有较高通信速率、适合于千兆位数据传输通信的网络技术,该标准由AN-SI标准化组织在1994年制定,经大量的理论研究和工程实践FC网络传输速率在航空电子系统中可达到16Gbps[5]。考虑到光纤通道(FC)的高带宽、可靠的流量控制、多种拓扑结构和上层协议的特点,其能够满足航空电子系统的通信要求[6],选用光纤通道(FC)作为互联网络。多核处理器电路通过高速串行接口PCI-E同FC光纤通道节点卡进行互联,模块配置两块标准FC光纤通道节点卡。FC光纤通道节点卡采用FC-AE-ASM协议标准的专用SoC芯片,与处理器配合可完成FC设备管理、通信管理、时钟同步、网络管理等功能;该芯片提供片外存储器接口、串口、GPIO接口以及JTAG等调试接口[7],可大大减小系统功耗及体积,提高系统集成度。FC光纤通道节点卡硬件设计示意图如图3所示。节点卡上包括电压转换电路、接口电路、复位电路等。FC光纤通道节点卡软件主要包括通信管理程序、设备管理程序、接口程序和板级驱动程序等。节点卡通过配置各个通信通道的缓冲区相对独立,保证不同通道间数据互不干扰,有效提升数据收发效率和准确性。

4软件设计

软件设计部分主要包括嵌入式操作系统和中间件系统。在多核处理器选择合适的嵌入式操作系统,并进行适配优化,可以有效提升多核处理器的资源利用率,充分发挥多核的优势。采用具有成熟开发团队的国产多核嵌入式操作系统。通常来说在操作系统在多核处理器上的部署主要有以下几种方式:(1)限定多处理(BMP);(2)非对称多处理(AMP);(3)对称多处理(SMP)[1]。非对称多处理的主要特点是在多核处理器的每个核都运行一个独立的操作系统,相对应的在操作系统上部署运行特定的应用,能充分发挥每个核的算力。同时在某一核发生故障时,另外一核可继续执行任务,可使该数据处理模块具有一定的鲁棒性。在此设计的数据处理模块适配的嵌入式操作系统采用AMP模式,该模式下应用或子任务被可分配到特定核上运行。考虑到嵌入式计算系统向着公共计算资源的方向发展,在该模式下上层管理系统可对不同内核独立操作,可近似认为不同内核之间互不相干。上层管理系统可根据系统的状态和系统实时的计算任务对不同核心资源进行动态分配,特别是在系统需要对不同安全等级或优先等级的任务进行动态分配时,具备一定的容错特性。在软件架构设计上,从顶层到底层依次为:任务感知层、任务分配层、硬件资源感知层和平台软件层。任务感知层主要负责确定系统任务,并根据一定的策略将任务分解为具体的子任务。任务分配层:根据系统中不同内核上的实时算力和资源情况,及子任务实时优先级情况,在满足系统要求的情况下对子任务的进行分配。硬件资源感知层:主要来探测系统软硬件的实时状态,为子任务分配提供依据。

5结语

基于多核处理器设计了一款非对称嵌入式数据处理模块,该模块可适配嵌入式实时操作系统,具备良好的计算能力和实时性。模块通过光纤互联网络可以和其余系统设备高速联通交互,具有良好的互连通性和互操作性,模块内各处理器内核上可根据不同的任务等级或安全等级,部署不同的任务,在为整体提供强大公共计算资源时可兼顾容错特性,系统可根据处理器状态的实时动态规划分配任务,提升系统性能。

作者:韩毅博 湛文韬 胡宝雷 单位:航空工业西安航空计算技术研究所