基于共享内存结构的多处理机通信装置及其方法,所述装置,包括:第一CPU和第二CPU,所述第一CPU上的一段内存空间映射到第二CPU的PCI地址空间上,形成一段所述第一CPU和第二CPU都可以访问的线性共享内存空间,实现信息共享,共享内存空间中设有用于所述第一CPU和第二CPU之间传送以太网报文的地址空间以及所述第一CPU和第二CPU上多任务间共享对象的地址空间,实现信息传递。本发明专利技术在借鉴传统紧耦合模式特点上,结合商用操作系统,建立了双CPU之间基于共享内存结构的通信机制,在进行系统控制的同时实现了复杂数据的并行处理。
【技术实现步骤摘要】
本专利技术属于航空电子系统中的机载计算机领域,特别涉及基于共享内存结构的多处理机通信技术的装置及其方法。
技术介绍
大规模集成电路技术的成功,使得计算机系统由原来的单机计算模式发展成为多 处理机、网络以致分布式系统。广义上说,使用多台计算机协同工作来完成所要求的任务的 计算机系统都是多处理机系统。相对于单处理机系统而言,多处理机系统以多台处理机并 行工作来提高系统的处理能力,可以利用系统内的多个CPU来并行执行用户的程序,以提 高系统的吞吐量或用来进行冗余操作以提高系统的可靠性。因此,多处理机系统不失为一 个提升现有单处理机系统性能的解决方法。但是,如果不能实现分布式多处理机间的高速 数据交换,将成为制约多处理机系统性能的一个瓶颈。 针对分布式多处理机间数据通信的特点,分为两种体系结构紧耦合和松耦合。紧 耦合是通过共享主存实现处理机间的互相通信,处理机间的相互联系比较紧密。松耦合是 通过消息传递方式来实现处理机间的相互通信,而每个处理机是由一个独立性较强的计算 机模块组成。 新一代航空电子系统对机载计算机在处理能力,容错性和数据交换速度及可靠性 方面提出了新的要求。原有的计算机体系结构采用的是串行处理方式,强调模块之间的主 从控制关系,模块间数据传输通道的资源利用率低。而分布式多处理机系统的架构构建灵 活,数据处理吞吐量大,只要能为处理机间提供高速数据通道,就能显著提高系统的处理能 力。因此,多处理机应用通信技术的研究,将是系统构建的关键技术。 本专利技术中涉及的VxWorks操作系统是美国风河(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。本专利技术中还具体涉及如下VxWorks操作系统中的参数和函数,其含意如下 SM_0BJ_MAX_TASK 系统中可使用共享内存对象的最大任务数 SM_0BJ_MAX_SEM共享内存旗语(sem即hore)的最大数 SM_0BJ_MAX_NAME 共享内存对象名称的最大数 SM_0BJ_MAX_MSG_Q 共享内存消息队列(messageQue)的最大数 SM_OBJ_MAX_MEM_PART共享内存块的最大数 SM_NET_MEM_SIZE共享内存中以太网数据包所能占的最大空间 smUtilUserlRtn函数实现基于I/O方式的中断触发程序 smUtillntConnect函数实现基于I/O方式中断服务程序的挂接 smEndlsr 基于共享内存结构的网络中断服务程序 smObjNotifyHandler 基于共享内存结构的对象中断服务程序
技术实现思路
本专利技术的目的在于提供一种,以 解决原有计算机体系结构因采用串行处理,而无法满足新一代航空电子系统对机载计算机 在处理能力,容错性和数据交换速度及可靠性方面的要求。 本专利技术采用如下技术方案 —种基于共享内存结构的多处理机通信装置,包括 第一 CPU和第二 CPU,所述第一 CPU上的一段内存空间映射到第二 CPU的PCI地址 空间上,形成一段所述第一CPU和第二CPU都可以访问的线性共享内存空间;所述共享内存 空间中设有用于第一 CPU和第二 CPU之间传送以太网报文的地址空间以及第一 CPU和第二 CPU上多任务间共享对象的地址空间。 进一步地,所述第一 CPU和第一 CPU的地址空间映射关系为 所述第一 CPU把用于共享的本地内存地址空间线性映射到PCI总线地址空间上; 所述第二 CPU把PCI总线上的共享地址空间线性映射到所述第一 CPU的本地内存 地址空间上; 所述第一 CPU和第二 CPU之间通过线性地址访问方式相互存取数据。 进一步地,所述第一CPU中设有共享内存网络子网网段和外部实际以太网络子网网段,所述第一CPU还用于作为这两个子网之间的网关进行IP报文的转发工作。 进一步地,所述第一 CPU和第二 CPU之间基于共享内存的通信机制为中断机制。 进一步地,所述中断机制为自定义方式中断机制。 进一步地,所述第一CPU的通用I/O 口连接于第二CPU的中断触发信号口,所述第二CPU的通用I/O 口连接于所述第一CPU的中断触发信号口。 本专利技术还提供一种基于共享内存结构的多处理机通信方法,包括 第一 CPU和第二 CPU,所述第一 CPU上的一段内存空间共享到第二 CPU的PCI地址空间上,所述第一CPU和第二CPU通过共享方式存取的一个地址,该地址和共享内存存在于同一个线性的总线地址空间中,共享内存区中存放第一CPU和第二CPU之间传送的以太网报文的地址空间头部的偏移量,以及第一 CPU和第二 CPU上多任务间共享对象的地址空间头部的偏移量,其中,所述第一CPU将所述共享内存所在的同一线性本地地址空间映射到PCI的总线地址空间上;所述第二 CPU将所述共享内存所在的同一线性PCI总线地址空 间映射到本地地址空间上;所述第一 CPU和第二 CPU之间通过线性地址访问方式相互存取 数据。 进一步地,在所述第一 CPU中配置有共享内存网络子网网段和外部实际以太网络子网网段,所述第一CPU作为这两个子网之间的网关进行IP报文的转发工作。 进一步地,所述第一 CPU和第二 CPU之间采用自定义方式的中断机制作为基于共享内存的通信机制,所述第一CPU的通用I/O 口连接于第二CPU的中断触发信号口,所述第二CPU的通用I/O 口连接于所述第一CPU的中断触发信号口。 进一步地,在所述第一 CPU和第二 CPU中指定事件通知机制,并进行配置 初始化所述第一 CPU和第二 CPU相应的I/O用于触发对方的中断; 初始化本地中断请求的触发方式; 在smUtilUserlRtn函数中实现基于I/O方式的中断触发; 通过smUtillntConnect函数分别挂接处理共享内存网络中断的处理程序和共享 内存对象中断的处理程序。 本专利技术在借鉴传统紧耦合模式特点上,结合商用操作系统,建立了双CPU之间基于共享内存结构的通信机制,在进行系统控制的同时实现了复杂数据的并行处理。它允许 动态重配置内存,用户可自由配置共享内存池的大小,CPU间的数据传递完全透明。本专利技术 的应用独立于硬件平台,适用范围广,将被广泛用于现有项目的升级,以及新项目的研发。附图说明 图1为本专利技术基于共享内存结构的多处理机通信装置实施例结构示意图; 图2为本专利技术实施例的共享内存网络和外部实际以太网络的拓扑示意图; 图3为本专利技术实施例中第一CPU与第二CPU之间的自定义中断连接示意图; 图4为本专利技术实施例中模拟的数据处理流程图; 图5为现有单个CPU的处理流程图; 图6为现有单个CPU的总体执行流程图; 图7为本专利技术实施例的处理流程图; 图8为本专利技术实施例的总体执行流程图。具体实施方式 实施例一 —种基于共享内存结构的多处理机通信装置,包括第一 CPU和第二 CPU,所述第一 CPU上的一段特定的内存空间映射到第二 CPU的PCI地址空间上,实现双CPU上的共享内存 访问。 两个CPU之间共享对象通信示意如图1所示 每一 CPU均包括应用层(Application)、目标库(Object Library) 、 VxMP、共享内 存(Shared Memory) 、 PCI本文档来自技高网...
【技术保护点】
一种基于共享内存结构的多处理机通信装置,其特征在于包括:第一CPU和第二CPU,所述第一CPU上的一段内存空间映射到第二CPU的PCI地址空间上,形成一段所述第一CPU和第二CPU都可以访问的线性共享内存空间;所述共享内存空间中设有用于所述第一CPU和第二CPU之间传送以太网报文的地址空间以及第一CPU和第二CPU上多任务间共享对象的地址空间。
【技术特征摘要】
【专利技术属性】
技术研发人员:屈国栋,崔亮,徐世杰,荆晶,
申请(专利权)人:中国航空无线电电子研究所,
类型:发明
国别省市:31[中国|上海]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。