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 地址,分别用于外网通信和内部网关。