0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于VxWorks操作系统实现多CPU并行计算机系统的软硬件设计

牵手一起梦 来源:微电子学与计算机 作者:贺占庄 2020-10-04 18:05 次阅读

1 引言

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

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

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

⑴ 通信带宽宽。CPU 访问双端口存储器可以采用字节/字/双字长度进行,数据读/写速度高。

⑵ 结构简单。处理器和双端口存储器直接相连,不需要其它接口电路,可实现可靠的双向信息传送。

⑶ 具有可剪裁性。根据需要可增加或减少处理器数量。

⑷ 扩展性强。该系统结构可适合各种处理器。

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

基于VxWorks操作系统实现多CPU并行计算机系统的软硬件设计

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

3.3 共享存储区的网络心跳

在多CPU 系统中,所有的处理器只有当共享存储区域初始化后才可以通过网络进行通信,所以各个处理器需要知道共享网络是否处于激活状态或是就绪状态。在这里采用心跳检测的方法使各个处理器得知网络的状态。

心跳(heartbeat)是一个计数器,它被主处理器每1 秒进行计数,其他处理器靠监视心跳值来确认共享网络是否处于正常。其他处理器监视心跳一般是每隔几秒进行一次(根据具体情况而定)。共享存储器心跳偏移地址被放置在共享存储器包头的第5个4 个节的字中。如图3 所示。

图3 心跳数据包

3.4 处理器之间的通信

处理器之间通信可以采用中断方式也可以采用查询方式。每一个处理器都有一个输入队列用来接收其它处理器发送来得的数据包,当采用查询方式时,处理器以固定时间间隔查询队列是否接收到数据。当使用中断方式时,发送处理器通知接收处理器输入队列中有数据。中断方式可以采用总线中断或是邮箱中断,它比查询方式更有效。

多CPU 的并行系统类似于一个嵌入式分布式系统,它们之间的通信可采用分布式消息队列、分式数据库威廉希尔官方网站 。分布式消息队列和分布式数据库威廉希尔官方网站 相结合,给系统中的所有处理器提供了一个透明化的通信平台。处理器访问分布式消息队列,就好象是访问自己的资源一样。分布式消息队列威廉希尔官方网站 可以简化应用程序的设计,加快系统开发。

3.5 多处理器之间的资源分配

在具有多处理器的单板计算机系统中,最重要的一点是要考虑任务的并行执行效率,多个处理器均需要访问外围设备和进行数据通信,这样就存在外部设备的分配问题。

对设备资源的分配,有两种:一是定制(即静态分配),即单板计算机在设计时就将资源分配好,缺点是适应性不强,资源不能根据用户的需求而改动;二是动态分配,在板上加载FPGA 逻辑,预留软件接口,用户可根据任务的要求动态指定。整个资源控制是透明的,不需要知道是哪个CPU控制。在硬件设计时,要考虑对CPU及外部设备访问的仲裁、优先级设置等,防止由于访问临界资源而造成的冲突。软件则应该指定是那一个CPU使用特定设备,其余CPU 访问时要互斥进行。

4 多处理器并行计算机的性能

在该系统中采用CPU 类型为Intel Pentium3处理器,主频是700MHz。测试方法,用相同功能的数据处理算法,将之分解为模块,分别运行在系统的各个处理器中。测试结果分析,和单CPU相比,采用两块CPU处理,运算性能可提高60%“70%;采用三块CPU,运算性能至少达到2倍。我们知道,影响这个测试结果的最大因素是测试方法,将相同功能的算法分解到多个处理器,分解的方法直接决定综合处理效率。但可以肯定,多个处理器并行处理设计,可大大提高系统的运算效率。

5 结束语

多CPU 的并行计算机威廉希尔官方网站 ,在很大程度上提高了系统计算速度,突破了单CPU 处理速度的极限。同时采用多个CPU 的单板计算机设计,可以减少计算机系统的体积、降低开发成本、减少系统的开发周期。本文中介绍的威廉希尔官方网站 ,在我所设计的计算机系统中已经实现并且得到软硬验证,所采用的CPU 类型包括DSP、pentium3 等系列。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19274

    浏览量

    229731
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10858

    浏览量

    211658
  • 操作系统
    +关注

    关注

    37

    文章

    6815

    浏览量

    123313
收藏 人收藏

    评论

    相关推荐

    微机原理--微型计算机系统及其操作系统简介

    `微机原理--微型计算机系统及其操作系统简介[hide][/hide]`
    发表于 04-30 21:21

    Concurrent iHawk实时并行计算机仿真系统

    Concurrent公司的iHawk并行计算机仿真系统是具有高实时特性的实时仿真系统,该仿真系统包含对称多处理器计算机平台、实时
    发表于 12-29 06:34

    嵌入式系统与通用计算机操作系统的区别

    系统是指以应用为中心,以计算机威廉希尔官方网站 为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式
    发表于 04-22 08:05

    嵌入式系统与通用计算机操作系统的区别

    系统是指以应用为中心,以计算机威廉希尔官方网站 为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式
    发表于 04-22 08:05

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

    求一种多处理器并行计算机系统的设计方案
    发表于 04-27 06:58

    什么是计算机系统计算机硬件计算机软件?

    第一章 计算机系统概论1. 什么是计算机系统计算机硬件计算机软件?硬件和软件哪个更重要?解:P3计算
    发表于 07-22 09:06

    计算机软硬件知识

    一、计算机软硬件知识1.计算机的发展和应用计算机的诞生: 第一台计算机 ENIAC 于 1946年 诞生于 美国宾夕法尼亚 大学
    发表于 07-22 06:31

    什么是计算机系统硬件和软件哪个更重要?

    第一章计算机系统概论1 .什么是计算机系统计算机硬件计算机软件?硬件和软件哪个更重要?解: P3计算
    发表于 07-26 07:18

    嵌入式操作系统相关资料分享

    嵌入式系统是以应用为中心,以计算机威廉希尔官方网站 为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其发展已
    发表于 11-05 07:28

    什么是计算机操作系统

    什么是计算机操作系统操作系统是一种为应用程序提供服务的系统软件,是一个完整的计算机系统的有机组成部分。从层次上来看,
    发表于 12-14 06:50

    嵌入式系统与通用计算机操作系统的区别是什么

    是指以应用为中心,以计算机威廉希尔官方网站 为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统主要由
    发表于 12-22 06:35

    计算机操作系统原理与设计

    计算机操作系统原理与设计算机操作系统原理与设计 计算机操作系统原理与设计
    发表于 06-03 14:30 43次下载

    微机原理--微型计算机系统及其操作系统简介

    微机原理--微型计算机系统及其操作系统简介
    发表于 12-12 22:07 0次下载

    实时并行计算机仿真系统

    关键词:测试测量 , 数据传输 , 反射内存卡 概述 Concurrent 公司的 iHawk 并行计算机仿真系统是具有高实时特性的实时仿真系统,该仿真系统包含对称多处理器
    发表于 08-13 07:43 704次阅读

    计算机操作系统的几种分类方式

    操作系统是管理计算机硬件与软件的计算机程序,是计算机系统的核心,是计算机系统中最基础和最重要的系统
    的头像 发表于 03-21 14:58 2w次阅读