首页> 中国专利> 一种混合运行多安全等级任务的安全隔离系统

一种混合运行多安全等级任务的安全隔离系统

摘要

本申请提供一种混合运行多安全等级任务的安全隔离系统,所述安全隔离系统包括多核处理器、DDRx存储器、FLASH存储器、NvRAM存储器、PCIe交换芯片、TTE网络端系统和FPGA,其中:多核处理器分别与PCIe交换芯片、FPGA、X组DDRx存储器、Y组DDRx存储器和Z组DDRx存储器连接;PCIe交换芯片与TTE网络端系统连接;FPGA分别与FLASH存储器、NvRAM存储器连接;PCIe交换芯片通过PCIe总线与TTE网络端系统连接;FPGA包括看门狗电路;TTE网络端系统向安全隔离系统外扩展双余度或三余度的TTE网络接口;所述多核处理器包括处理器核A、处理器核B和处理器核C;多核处理器包括PCIe总线接口L、PCIe总线接口M和PCIe总线接口N;PCIe总线接口L、PCIe总线接口M和PCIe总线接口N均与PCIe交换芯片连接。

著录项

说明书

技术领域

本申请涉及嵌入式计算领域,具体涉及一种混合运行多安全等级任务的安全隔离系统。

背景技术

在大规模复杂嵌入式计算应用场景中,常常会有不同种类、不同特征的嵌入式计算机,面向于不同类型的计算任务。以飞行器内部的嵌入式计算系统为例,其飞行控制类计算任务一般要求高可靠、高安全,通常运行于容错能力较强的计算机;其任务载荷(MissionPayload)类计算任务一般要求高性能、高带宽,通常运行于计算性能较强的计算机。在同一个嵌入式计算应用场景中,使用多个不同种类、不同特征的嵌入式计算机来执行不同类型的计算任务,这种设计方式的优势是不同特征的计算机便于满足不同类型计算任务的特性需求,但该设计方式也有其固有的缺点:一方面系统内计算机数量较多时,系统的体积、重量、功耗难以降低;另一方面不同特征的计算机通常具有不同的体系架构、不同的总线网络,彼此间分立运行,这使得运行于不同计算机的不同计算任务在数据融合、协同工作方面具有天然的阻碍。这种阻碍使得同一个嵌入式计算应用场景中,各种计算任务无法有机统一地紧密耦合、彼此协作,从而限制了所在嵌入式计算应用场景的整体功能、性能、运行效率的提升。为解决该问题,诸多领域的大规模复杂嵌入式计算系统近年来致力于综合化水平的提升,即不断提高单个计算机的功能、性能,将原本处于多个计算机中的计算任务,综合到单个计算机之中运行,这样一方面可以提高不同计算任务之间数据融合的水平和紧密协作的能力,另一方面也有助于降低嵌入式计算系统整体的体积、重量与功耗,从而提升所在嵌入式计算应用场景的整体功能、性能与运行效率。

在诸多领域的复杂嵌入式计算系统中,各种计算任务可以根据其关键重要程度进行分类。安全关键任务:与系统安全息息相关的计算任务,通常称为安全关键(Safety-Critical)任务。以飞行器为例,其飞行控制计算任务就是典型的安全关键任务。安全关键任务通常有着很高的可靠性、安全性要求,往往在系统后台不间断地运行,并对实时性有着较高要求。安全关键任务若发生错误或丧失功能,有可能造成生命、财产损失等严重后果,因此系统需要首要保障安全关键任务的可靠运行。任务关键任务:系统所承担的任务载荷(MissionPayload)相关的计算任务,通常称为任务关键(Mission-Critical)任务。以飞行器为例,雷达、通信、导航等任务载荷相关的计算任务就是典型的任务关键任务。任务关键任务的特点是,其通常是事件触发的。当触发事件未发生或少量发生时,任务关键任务的计算量和带宽需求较低;当触发事件频繁发生或集中发生时,任务关键任务的计算量和带宽需求陡增,甚至达到峰值。任务关键任务发生错误或丧失功能时,只会导致相应任务载荷无法被正确执行,通常不会直接导致系统安全方面的后果。运行任务关键任务的计算机需要支持任务峰值时的计算量和带宽需求,所以通常要求高性能、高带宽,但对于可靠性、安全性的要求相对较低。非关键任务:在安全关键任务和任务关键任务之外的,发生异常时不会造成重要影响的任务,通常称为非关键(non-Critical)任务。例如数据记录、娱乐设备等相关的计算任务通常就属于非关键任务。非关键任务对于可靠性、安全性的要求是最低的。

随着综合化水平的不断提升,目前在诸多领域的大规模复杂嵌入式计算系统中,原本处于不同计算机的各类安全关键任务,可以综合到同一个高可靠计算机中运行;原本处于不同计算机的各类任务关键任务、非关键任务,可以综合到同一个高性能计算机中运行。但是难以继续将运行于高可靠计算机的安全关键任务,和运行于高性能计算机的任务关键任务、非关键任务,进一步综合到同一个兼具高可靠性和高性能的计算机中运行。这是因为,当高安全等级的安全关键任务,和低安全等级的任务关键任务、非关键任务处于同一个计算机中,共享计算、存储、通信等资源同时运行时,难以保障高安全等级任务的正常运行不受到低安全等级任务的影响,这会使得系统安全难以保证。例如,当任务关键任务达到峰值时,可能挤占安全关键任务的通信带宽,导致其正常运行受到影响;当任务关键任务出现故障时,可能误操作共享资源致使故障蔓延,导致安全关键任务也出现异常。所以,要想进一步提高复杂嵌入式计算系统的综合化水平,将不同安全等级、不同任务特性需求的安全关键任务、任务关键任务、非关键任务综合到同一个计算机中运行,就需要研发能够混合运行多安全等级任务的计算机,解决不同安全等级计算任务之间的安全隔离问题。

发明内容

针对背景技术中提到的,诸多领域的大规模复杂嵌入式计算系统难以进一步提升综合化水平的问题,本申请提供一种混合运行多安全等级任务的安全隔离系统,可以同时运行不同安全等级、不同任务特性需求的安全关键任务、任务关键任务、非关键任务,并在不同安全等级计算任务之间建立了安全隔离,确保高安全等级任务的正常运行不会受到低安全等级任务的影响。

本申请提供一种混合运行多安全等级任务的安全隔离系统,所述安全隔离系统包括多核处理器、DDRx存储器、FLASH存储器、NvRAM存储器、PCIe交换芯片、TTE网络端系统和FPGA,其中:

多核处理器分别与PCIe交换芯片、FPGA、X组DDRx存储器、Y组DDRx存储器和Z组DDRx存储器连接;PCIe交换芯片与TTE网络端系统连接;FPGA分别与FLASH存储器、NvRAM存储器连接;PCIe交换芯片通过PCIe总线与TTE网络端系统连接;FPGA包括看门狗电路;TTE网络端系统向安全隔离系统外扩展双余度或三余度的TTE网络接口;

所述多核处理器包括处理器核A、处理器核B和处理器核C,其中,处理器核A为运行最高安全等级任务的一组处理器核,处理器核B为运行次高安全等级任务的一组处理器核,处理器核C为运行最低安全等级任务的一组处理器核;

多核处理器包括PCIe总线接口L、PCIe总线接口M和PCIe总线接口N;PCIe总线接口L、PCIe总线接口M和PCIe总线接口N均与PCIe交换芯片连接。

具体的,多核处理器中的每个处理器核,根据预设的安全等级,运行与所述安全等级对应的任务,其中,处理器核A运行最高安全等级的任务,处理器核B运行次高安全等级的任务,处理器核C运行最低安全等级的任务;处理器核A的任务运行在X组DDRx存储器,处理器核B的任务运行在Y组DDRx存储器,处理器核C的任务运行在Z组DDRx存储器。

具体的,FLASH存储器,在系统复位启动后向DDRx存储器转存各处理器核运行所需的程序和数据之后,且多核处理器进入任务运行期间,不再允许各处理器核对FLASH存储器进行访问;

NvRAM存储器,仅允许处理器核A访问NvRAM存储器;处理器核B和处理器核C将需要写入NvRAM存储器的数据,通过处理器核之间共享访问的DDRx存储器地址空间,共享给处理器核A,由处理器核A代理写入NvRAM中。

具体的,PCIe总线接口L仅与处理器核A和X组DDRx存储器进行通信;PCIe总线接口M仅与处理器核B和Y组DDRx存储器进行通信;PCIe总线接口N仅与处理器核C和Z组DDRx存储器进行通信。

具体的,FPGA内部实现多个看门狗定时器,分别监控各个处理器核的运行状态。仅允许处理器核A访问所有看门狗定时器;处理器核B和处理器核C需要访问看门狗定时器时,将访问操作信息通过处理器核之间共享访问的DDRx存储器地址空间,共享给处理器核A,由处理器核A代理访问。

具体的,处理器核A和处理器核B需要通过共享DDRx存储器预设地址区域来共享数据,则处理器核A和处理器核B的共享地址区域处于Y组DDRx存储器;

处理器核A和处理器核C需要通过共享DDRx存储器预设地址区域来共享数据,则处理器核A和处理器核C的共享地址区域处于Z组DDRx存储器;

处理器核B和处理器核C需要通过共享DDRx存储器预设地址区域来共享数据,则处理器核B和处理器核C的共享地址区域处于Z组DDRx存储器。

具体的,所述PCIe交换芯片支持多路虚拟通道。

具体的,所述多核处理器为交换式互连结构的多核处理器。

综上所述,本申请提供的混合运行多安全等级任务的安全隔离系统,可以同时运行不同安全等级、不同任务特性需求的安全关键任务、任务关键任务、非关键任务,并在不同安全等级计算任务之间建立了安全隔离,确保高安全等级任务的正常运行不会受到低安全等级任务的影响。

各类任务可以共享本安全隔离系统的计算资源(多核处理器)、存储资源(DDRx存储器、FLASH存储器、NvRAM存储器)、通信资源(TTE网络)等。对于每种硬件资源,本系统都提供了相应的机制来保障高安全等级任务的正常运行不会受到低安全等级任务的影响。

本系统可以应用于诸多领域的大规模复杂嵌入式计算系统中,将嵌入式计算系统中原本运行于高可靠计算机的安全关键任务,和原本运行于高性能计算机的任务关键任务、非关键任务,进一步综合到同一个兼具高可靠性和高性能的计算机中运行,从而进一步提升复杂嵌入式计算系统的综合化水平,这样一方面可以提高不同计算任务之间数据融合的水平和紧密协作的能力,另一方面也有助于降低嵌入式计算系统整体的体积、重量与功耗,从而提升所在嵌入式计算应用场景的整体功能、性能与运行效率。

附图说明

图1为本安全隔离系统硬件结构图;

图2为本安全隔离系统内的多核处理器功能结构图;

图3为本安全隔离系统内的DDRx存储器示意图;

图4为本安全隔离系统内的PCIe总线示意图;

图5为本安全隔离系统运行混合关键任务的示意图;

图6为多个本安全隔离系统组成更大规模计算机系统的示意图。

具体实施方式

诸多领域的大规模复杂嵌入式计算系统中,综合化的发展遇到了阻碍,难以将运行于高可靠计算机的安全关键任务,和运行于高性能计算机的任务关键任务、非关键任务,进一步综合到同一个兼具高可靠性和高性能的计算机中运行。针对该问题,本发明提出了一种混合运行多安全等级任务的安全隔离系统。该安全隔离系统可以同时运行不同安全等级、不同任务特性需求的安全关键任务、任务关键任务、非关键任务,并在不同安全等级计算任务之间建立了安全隔离,确保高安全等级任务的正常运行不会受到低安全等级任务的影响。在诸多领域的大规模复杂嵌入式计算系统中,使用本发明可以进一步提升复杂嵌入式计算系统的综合化水平,将系统内的安全关键任务、任务关键任务、非关键任务综合到同一个计算机中运行,这样一方面可以提高不同计算任务之间数据融合的水平和紧密协作的能力,另一方面也有助于降低嵌入式计算系统整体的体积、重量与功耗,从而提升所在嵌入式计算应用场景的整体功能、性能与运行效率。

本发明的技术方案:

图1所示的计算机系统中包含两个计算节点(图1中,左侧多核处理器及其外围的存储器、总线、接口、网络等电路为一个计算节点;右侧多核处理器及其外围的存储器、总线、接口、网络等电路为另一个计算节点)。每个计算节点中,包含一个多核处理器;该多核处理器外接不少于两组彼此独立的DDRx存储器;该多核处理器外接一个FPGA,通过FPGA扩展一组FLASH存储器和一组NvRAM存储器;该多核处理器向计算机系统外扩展以太网接口和串行接口;该多核处理器通过不少于两个PCIe总线接口,连接到本计算节点中的PCIe交换芯片。每个计算节点中包含一个TTE(Time Triggered Ethernet,时间触发以太网)网络端系统,该TTE网络端系统通过PCIe总线连接到本计算节点中的PCIe交换芯片,该TTE网络端系统向计算机系统外扩展双余度或三余度的TTE网络接口。每个计算节点中的FPGA中实现看门狗电路,用于监控本计算节点多核处理器各处理器核的运行状态。两个计算节点中的多核处理器各自向外扩展一个RapidIO总线接口,连向同一个RapidIO交换芯片,两个计算节点可以通过RapidIO交换芯片进行数据通信。

上述的单个计算节点,即为本发明安全隔离系统。

下面阐述计算节点内各个硬件组成部分的具体设计。

一、多核处理器

每个计算节点中包含一个多核处理器。多核处理器中,规定不同安全等级的计算任务必须运行于不同的处理器核,从而实现不同安全等级计算任务在计算资源上的彼此隔离。例如安全关键任务运行于处理器核A,任务关键任务运行于处理器核B,非关键任务运行于处理器核C等等。

多核处理器内部的各处理器核(及其L1/L2Cache)、各DDRx存储器控制器、各总线/接口控制器之间,应当采用交换式互连结构(而不是传统的内总线互连结构),如图2所示。采用交换式互连结构的原因有二:1.交换式互连结构允许不同的存储器、设备被配置给不同的处理器核独享使用;2.交换式互连结构支持多个处理器核同时对不同的存储器、设备进行访问操作,彼此间不会互相阻塞(而传统的内总线互连结构中,多个处理器核同时对外发出访问会出现总线竞争,必须进行总线仲裁)。

后文中在DDRx存储器、PCIe总线等相关内容中,都会利用多核处理器交换式互连结构的上述特点,来实现不同安全等级任务的计算、存储、通信资源的合理分配与安全隔离。

二、DDRx存储器

DDRx存储器是指DDR、DDR2、DDR3、DDR4、……系列的存储器,用作多核处理器各个处理器核程序运行和数据存储的主存储器。

每个计算节点的多核处理器外接不少于两组彼此独立的DDRx存储器。规定不同安全等级的计算任务(运行于不同的处理器核)必须运行于不同组的DDRx存储器。即运行不同安全等级计算任务的处理器核,必须使用不同组的DDRx存储器作为其程序运行和数据存储的主存储器。另外,不允许运行低安全等级计算任务的处理器核去访问运行高安全等级计算任务的处理器核所对应的DDRx主存储器组。若某个运行低安全等级计算任务的处理器核和某个运行高安全等级计算任务的处理器核之间,需要通过共享DDRx存储器某段地址区域来共享数据,则共享地址区域应当处于这个运行低安全等级计算任务的处理器核所对应的DDRx主存储器组中。(可通过多核处理器的配置管理来设置各处理器核对各组DDRx存储器的访问权限。)

以图3为例,示例多核处理器内部包含3个处理器核(核A、核B、核C),外部连接X、Y、Z三组DDRx存储器。处理器核A运行最高安全等级计算任务,使用X组DDRx存储器作为其程序运行和数据存储的主存储器;处理器核B运行次高安全等级计算任务,使用Y组DDRx存储器作为其程序运行和数据存储的主存储器;处理器核C运行最低安全等级计算任务,使用Z组DDRx存储器作为其程序运行和数据存储的主存储器。X组DDRx存储器全部地址段仅允许处理器核A访问(作为核A的主存储器);Y组DDRx存储器中,部分地址段仅允许处理器核B访问(作为核B的主存储器),部分地址段允许处理器核A、B共同访问(作为核A和核B共享数据存储区);Z组DDRx存储器中,部分地址段仅允许处理器核C访问(作为核C的主存储器),部分地址段允许处理器核A、C共同访问(作为核A和核C共享数据存储区)。

DDRx存储器的这种设计方式,有两个优势:1.尽可能地保障了运行不同安全等级计算任务的处理器核,彼此间相互独立,互不干扰(各自有独立的主存储器,并且多核处理器的交换式互连结构支持各处理器核同时访问其对应的主存储器);2.保障了高安全等级任务的正常运行不会受到低安全等级任务的影响。以图3所示为例,当运行次高、最低安全等级任务的处理器核B、处理器核C、Y组DDRx存储器、Z组DDRx存储器出现故障时,对于处理器核A而言,至多只会影响到核A与核B、核C之间的共享数据,不会影响到处理器核A对X组DDRx存储器的正常访问,最高安全等级计算任务仍可以继续运行。

三、FLASH存储器

每个计算节点的多核处理器通过FPGA外扩一组FLASH存储器。FLASH存储器用于多核处理器的复位启动,以及在复位启动后向各个DDRx存储器中转存各处理器核运行所需的程序、数据等。在转存完毕后,多核处理器进入任务运行期。在任务运行期间,不再允许各处理器核对FLASH存储器进行访问(可通过多核处理器的配置管理来禁止各处理器核访问FLASH存储器所在地址段)。

在任务运行期间,即便某个处理器核发生故障,对FLASH存储器所在地址段进行错误访问,该访问也会被屏蔽,不会影响到其他处理器核的正常运行。这保障了不同安全等级任务之间的安全隔离。

四、NvRAM存储器

每个计算节点的多核处理器通过FPGA外扩一组NvRAM存储器。NvRAM存储器通常用于在系统出现异常时,记录故障信息。规定仅允许多核处理器内部运行最高安全等级计算任务的单个处理器核访问NvRAM存储器,其他处理器核不允许直接访问NvRAM存储器(可通过多核处理器的配置管理来禁止其他处理器核访问NvRAM存储器所在地址段)。其他处理器核如果也有需要NvRAM记录的故障信息,可将相应数据通过处理器核之间共享访问的DDRx存储器地址空间,呈递给具有NvRAM访问权限的处理器核,由其代理写入NvRAM中(这种代理写入操作应当周期性进行,或者空闲时进行,不应影响到具有NvRAM访问权限的处理器核的自身任务正常运行)。

NvRAM存储器的这种设计方式,保障了高安全等级任务的正常运行不会受到低安全等级任务的影响。运行低安全等级计算任务的处理器核发生故障时,至多只会影响到该处理器核与具有NvRAM访问权限的处理器核之间共享访问的DDRx存储器地址空间,不会影响到其他处理器核中计算任务的正常运行。

五、PCIe总线

每个计算节点中,多核处理器通过PCIe总线与TTE网络端系统进行通信。每个计算节点的多核处理器通过不少于两个PCIe总线接口,连接到本计算节点中的PCIe交换芯片,该PCIe交换芯片再通过PCIe总线连接到TTE网络端系统。

每个多核处理器中,为不同的PCIe总线接口指定不同的安全等级。规定每个安全等级的PCIe总线接口,仅可与运行相应安全等级计算任务的处理器核和DDRx存储器组进行通信,不可与运行其他安全等级计算任务的处理器核和DDRx存储器组进行通信。(可通过多核处理器的配置管理来设置各处理器核对各个PCIe总线接口的访问权限,以及各个PCIe总线接口对各组DDRx存储器的访问权限。)即运行不同安全等级计算任务的处理器核、DDRx主存储器,必须使用不同的PCIe总线接口与TTE网络端系统进行通信。

规定PCIe交换芯片必须支持多路虚拟通道(Virtual Channels)。多路虚拟通道(Virtual Channels)用于支持PCIe总线数据包的多种传输优先级。依据PCIe规范,当PCIe链路仅为单路虚拟通道时,总线数据包无法区分优先级,只有当PCIe链路为多路虚拟通道时,总线数据包才可以区分优先级(高优先级的总线数据包使用高优先级的虚拟通道,低优先级的总线数据包使用低优先级的虚拟通道)。规定多核处理器中高安全等级的PCIe总线接口,仅使用高优先级的PCIe总线数据包进行通信,低安全等级的PCIe总线接口,仅使用低优先级的PCIe总线数据包进行通信。(可通过多核处理器的配置管理来设置各个PCIe总线接口的总线数据包优先级。)这样PCIe交换芯片就可以为高安全等级计算任务的数据通信,提供高优先级的虚拟通道,为低安全等级计算任务的数据通信,提供低优先级的虚拟通道。

以图4为例,示例多核处理器内部包含3个处理器核(核A、核B、核C),3个PCIe总线接口(接口L、接口M、接口N),外部连接X、Y、Z三组DDRx存储器。处理器核A和X组DDRx存储器运行最高安全等级计算任务,只能与PCIe总线接口L进行通信,使用其扩展一个PCIe总线接口连向PCIe交换芯片,PCIe总线接口L仅使用最高优先级的PCIe数据包进行通信;处理器核B和Y组DDRx存储器运行次高安全等级计算任务,只能与PCIe总线接口M进行通信,使用其扩展一个PCIe总线接口连向PCIe交换芯片,PCIe总线接口M仅使用次高优先级的PCIe数据包进行通信;处理器核C和Z组DDRx存储器运行最低安全等级计算任务,只能与PCIe总线接口N进行通信,使用其扩展一个PCIe总线接口连向PCIe交换芯片,PCIe总线接口N仅使用最低优先级的PCIe数据包进行通信。PCIe交换芯片支持3路虚拟通道,通过PCIe总线连接到TTE网络端系统。

PCIe总线的这种设计方式,有两个优势:1.尽可能地保障了运行不同安全等级计算任务的处理器核/DDRx存储器,彼此间相互独立,互不干扰(各自有独立的PCIe总线接口,并且多核处理器的交换式互连结构支持各处理器核同时访问其对应的PCIe总线接口,支持各PCIe总线接口同时访问其对应的DDRx存储器);2.保障了高安全等级任务的正常运行不会受到低安全等级任务的影响。运行低安全等级计算任务的处理器核、DDRx存储器与TTE网络端系统之间的通信发生故障时,运行高安全等级计算任务的处理器核、DDRx存储器与TTE网络端系统之间的通信仍可以继续进行。以图4所示为例,当运行次高、最低安全等级任务的处理器核B、处理器核C、Y组DDRx存储器、Z组DDRx存储器、PCIe总线接口M、PCIe总线接口N出现故障时,即便向PCIe总线网络上发出错误的数据包,也不会影响处理器核A、X组DDRx存储器通过PCIe总线接口L与TTE网络端系统的通信(采用最高优先级数据包),最高安全等级计算任务仍可以继续运行。

六、TTE网络端系统

每个计算节点中包含一个TTE(Time Triggered Ethernet,时间触发以太网)网络端系统,该TTE网络端系统向外扩展双余度或三余度的TTE网络接口。TTE网络端系统用于实现各类TTE网络数据帧的接收与发送。

在本发明安全隔离系统中,采用TTE网络作为安全隔离系统之间的通信网络,这是因为TTE网络支持TT(Time Triggered,时间触发)数据帧、RC(RateConstrained,速率受限)数据帧、BE(Best Effort,尽力投递)数据帧三种业务流的混合传输,特别适用于混合关键任务的数据通信。TT数据帧的传输可以严格保障传输时间的确定性,符合众多嵌入式计算应用领域安全关键任务数据通信的高可靠、强实时需求;RC数据帧的传输可以在保障高带宽的同时避免网络堵塞,符合众多嵌入式计算应用领域任务关键任务数据通信的高带宽、实时性需求;BE数据帧的传输尽量利用网络中的剩余带宽,其传输时延不受保障,适用于非关键任务的数据通信。TTE网络中,这三类数据帧可以混合传输,并且这三类数据帧的传输优先级由高到低依次为TT数据帧、RC数据帧、BE数据帧。TTE网络组件(网络端系统、网络交换机)的设计中,严格保障了高传输优先级数据帧的正常传输不会受到低传输优先级数据帧的影响。

本发明安全隔离系统中,安全关键任务、任务关键任务、非关键任务分别使用TT、RC、BE数据帧进行数据通信,这样有两个优势:1.各类任务可以共享TTE网络通信资源,混合传输;2.TTE网络的传输优先级机制保障了高安全等级任务的正常通信不会受到低安全等级任务的影响。另外,TTE网络中,每个TTE网络端系统通常具有双余度或者三余度的TTE网络接口,且为每个网络接口提供独立的MAC层、物理层电路。每个TTE网络端系统的多个TTE网络接口接收、发送完全相同的数据。TTE网络的这种余度设计可以提高通信链路的可靠性、可用性,有益于安全关键任务的高可靠、高安全通信需求。

七、FPGA及看门狗

每个计算节点的多核处理器外接一个FPGA芯片。FPGA芯片一方面用于实现多核处理器对FLASH、NvRAM存储器的扩展访问,另一方面用于实现看门狗电路。FLASH、NvRAM存储器在前文已做叙述,此处仅对FPGA内部实现的看门狗电路的设计方式进行描述。

FPGA内部实现多个看门狗定时器,看门狗定时器的数量等同于多核处理器内部启用的处理器核的数量。看门狗定时器与处理器核一一对应,每个看门狗定时器监控对应处理器核的运行状态。规定仅允许多核处理器内部运行最高安全等级计算任务的单个处理器核直接访问所有的看门狗定时器,其他处理器核均不允许直接访问看门狗定时器。其他处理器核需要对相应的看门狗定时器进行操作时,将操作信息写入到处理器核之间共享访问的DDRx存储器地址空间。具有看门狗定时器访问权限的处理器核,除了对自身对应的看门狗定时器进行操作之外,还需要定期查询处理器核之间共享访问的DDRx存储器地址空间,获知其他处理器核需要进行的看门狗定时器操作信息,代理执行相应的看门狗定时器访问。此外,具有看门狗定时器访问权限的处理器核,除了监控自身对应的看门狗定时器状态外,还需要定期监控其他看门狗定时器的状态,并通过处理器核之间共享访问的DDRx存储器地址空间,把其他看门狗定时器的状态反馈给对应的处理器核。

看门狗电路的这种设计方式,有两个优势:1.可以对多核处理器内每个处理器核的任务运行情况进行单独监控;2.保障了高安全等级任务的正常运行不会受到低安全等级任务的影响。运行低安全等级计算任务的处理器核发生故障时,至多只会影响到该处理器核与具有看门狗定时器访问权限的处理器核之间共享访问的DDRx存储器地址空间,不会影响到其他处理器核(及其对应看门狗定时器)的正常运行。

八、RapidIO总线

图1计算机系统中,两个计算节点中的多核处理器各自向外扩展一个RapidIO总线接口,连向同一个RapidIO交换芯片,两个计算节点可以通过RapidIO交换芯片进行数据通信。

规定RapidIO总线仅能用于某一安全等级计算任务的数据通信。RapidIO总结接口仅可与运行这一安全等级计算任务的处理器核和DDRx存储器组进行通信,不可与运行其他安全等级计算任务的处理器核和DDRx存储器组进行通信。(可通过多核处理器的配置管理来设置各处理器核对RapidIO总线接口的访问权限,以及RapidIO总线接口对各组DDRx存储器的访问权限。)RapidIO总线的这种使用约束,保障了不同安全等级计算任务之间不会相互影响。

对于两个计算节点之间RapidIO总线通信的用途未作限定。举例两种应用场景:1.两个计算节点各自运行相同的安全关键任务,两个计算节点构成命令/监控比较对,通过RapidIO总线互相传输本节点安全关键任务的计算结果,彼此间进行比较,来检测彼此运行的正确性;2.两个计算节点协作完成同一个任务关键任务,两个计算节点之间通过RapidIO总线(而不是TTE网络)传输该任务相关的数据,合理利用图1计算机系统内部的通信带宽,降低TTE网络负荷。

九、调试接口

每个计算节点的多核处理器向外扩展以太网接口和串行接口,用作调试接口。以太网接口和串行接口仅在计算节点处于调试状态时启用。在计算节点正常工作执行任务时,禁用以太网接口和串行接口。

实际应用中,既可以将图1计算机系统单独作为一台计算机独立使用,也可以将多个图1计算机系统使用TTE网络连接起来组成一个更大规模的计算机进行使用。

当图1计算机系统单独作为一个计算机独立使用时,可以同时运行安全关键任务、任务关键任务、非关键任务,如图5所示。图5示例中,每个计算节点的多核处理器中,为安全关键任务、任务关键任务、非关键任务各自分配一个处理器核,一组DDRx存储器,和一个PCIe总线接口。两个计算节点可以各自运行相同的安全关键任务,通过RapidIO总线互相传输本节点安全关键任务的计算结果,彼此间进行比较,来检测彼此运行的正确性,从而保障安全关键任务的正确运行。

也可以将多个图1计算机系统使用TTE网络连接起来组成一个更大规模的计算机进行使用,如图6所示(TTE网络上也可以连接其他设备)。该大规模计算机可以同时运行安全关键任务、任务关键任务、非关键任务。在每个计算节点的硬件资源上进行各类任务的部署。对于安全关键任务,该大规模计算机可以灵活构建各类容错构型来满足其可靠性、安全性的要求。TTE网络本身也需要保障安全关键任务的可靠性、安全性要求,但TTE网络的容错设计并非本专利的重点,不再展开叙述。

综上所述,在大规模复杂嵌入式计算系统中,使用本发明可以将原本运行于高可靠计算机的安全关键任务,和原本运行于高性能计算机的任务关键任务、非关键任务,进一步综合到同一个兼具高可靠性和高性能的计算机中运行,从而进一步提升复杂嵌入式计算系统的综合化水平,这样一方面可以提高不同计算任务之间数据融合的水平和紧密协作的能力,另一方面也有助于降低嵌入式计算系统整体的体积、重量与功耗,从而提升所在嵌入式计算应用场景的整体功能、性能与运行效率。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号