微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 一种多处理器并行计算机系统的设计

一种多处理器并行计算机系统的设计

时间:01-04 来源:21IC 点击:
1 引言

在信息技术高速发展的今天,对于计算机的使用可以说无处不在。特别是在军工领域,计算机充当了军事控制和数据处理的核心,人们对计算机的性能要求也越来越高。一些特殊领域,如雷达、导航等对计算机的处理速度、实时性的要求不断提高。人们采用了多种方法来解决这些不断增长的技术指标要求,本文介绍的多处理器并行计算机的软硬件设计,是采用多个CPU 进行并行数据处理的方法来提高单板的运算性能。

2 多处理器并行计算机系统的硬件设计

多处理器并行计算机系统是属于并行结构的系统模型,每一个处理器都需要具有自己局部存储器,以存储自己的应用程序并能够独立高速并行计算;同时,该系统需要具有高速通信的互连网络,可以把并行数据块高速分布在各个处理器的局部存储器中,以提高并行系统的效率。该计算机结构设计可以采用共享存储器(双端口RAM)互连的松耦合不对称处理器配置。系统结构如图1所示,图中的各个处理器都具有自己的高速局部存储器,可高速独立的并行进行计算,各个处理器之间由双端口存储器互连组成高速星型通信网络,由于双端口存储器具有很高的通信速率,灵活的通信协议建立方式,因此双端口存储器互连的松耦合多CPU 并行计算机具有如下优点:

⑴ 通信带宽宽。CPU 访问双端口存储器可以采用字节/字/双字长度进行,数据读/写速度高。
⑵ 结构简单。处理器和双端口存储器直接相连,不需要其它接口电路,可实现可靠的双向信息传送。
⑶ 具有可剪裁性。根据需要可增加或减少处理器数量。
⑷ 扩展性强。该系统结构可适合各种处理器。

图1所示的多个处理器的计算机模型中,CPU可以采用Intel x86 系列、PowerPC 系列、ARM系列等处理器。Boot Processor(即主处理器)负责对系统管理,通过它可以协调各个Application Processor(即从处理器)的工作,同时Boot Processor 也对共享存储器进行初始化。为了提高系统的上电效率,每个处理器都需要带有自己的fash 电子盘来存储程序,每个处理器都可以外挂设备(比如网络、键盘等)。

图1 共享存储器互连的并行计算机



3 多处理器并行计算机的软件设计

为提高处理器的执行效率,一般计算机系统都采用实时多任务操作系统,本文以嵌入式VxWorks操作系统为基础论述多CPU 并行计算机的软件设计方法。
3.1 共享存储器网络

在VxWorks 操作系统中,多CPU 之间的通信使用共享存储器网络技术(Shared-Memory BackplaneNetwork)。该技术采用虚拟网络来管理共享存储设备。共享存储器网络驱动允许多个处理器之间的通信采用网络形式,使用规范符合BSD4.4 兼容模式。共享存储器可以驻留在CPU 主板上也可以驻留在单独的存储器板上。
BP 代表Boot Processor(主处理器),AP 代表Application Processor(从处理器)。主处理器设置有主机路由200.200.200.0,从处理器可以通过主处理器与外网通信。主处理器必须有两个网络接口,一个用于和外网通信(如和VxWorks 开发主机Vx-Host 通信),IP 地址设置为如图2 中的90.0.0.10;另外一个是虚拟的共享存储器网络,用于和从处理器通信。从处理器配置的网络IP 地址分别是200.200.200.1、200.200.200.2 和200.200.200.3。当调试程序时,首先由主处理器初始化共享内存网络(包括设置存储器地址),从开发主机上下载自己的VxWorks image;然后,调度从处理器(AP)通过IP 地址90.0.0.10 从开发主机VxHost上下载从处理器所需要的VxWorks image,并且运行该操作系统,从机的一切调试均通过主处理器进行。

图2 是多CPU 并行计算机网络配置


共享存储器网络是VxWorks 的一个模块,使用时必须在tornado的有关选项中选择。对于每一个处理器都有一个自己的boorom 或VxWoks image,分别独自运行自己的操作系统,彼此之间需要通信时通过共享存储器进行。

3.2 共享存储器网络主设备

多处理器系统中有一个处理器充当主设备的角色。共享存储器网络主设备(Shared-MemoryNetwork Master)在系统中所起到的功能解释如下:
⑴ 初始化共享存储器区域和共享内存钩子(anchor);
⑵ 维护共享存储器网络心跳;
⑶ 作为其它处理器和外网通信的网关;
⑷ 分配共享存储区域。
在VxWorks 操作系统中要求共享存储区域是一块连续的存储地址空间,默认为16MB,在网络驱动中所定义。主设备负责为其它处理器分配共享存储区域,并且进行内存映射。共享存储区的定位依靠系统配置。所有的处理器利用钩子功能都必须能够访问该区域。共享存储钩子是所有处理器的通信参考点。钩子结构和共享内存区域可以被放置在双端口RAM中。钩子包含真正存储区域的物理地址偏移量,这在主设备在初始化过程中所设置,钩子和存储区域必须在相同的地址空间,地址必须是线性和有效的。

当共享存储器网络主设备初始化后,所有的处理器才可以使用共享存储器网络。但是,主处理器并不能真正干涉其它处理器之间通过网络进行数据包的交互,各个处理器之间通信是通过本地的中断或查询方式进行的。当共享存储器被初始化后,所有的处理器,包括主处理器,都同等的使用网络。在Tornado2.0 环境下,主处理器号规定为0,系统通过处理号来识别主处理器和从处理器。典型的情况下,主处理器有两个Internet 地址,分别用于外网通信和内部网关。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top