关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 一种多处理器并行计算机系统的设计

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

作者: 时间:2009-12-23 来源:网络 收藏

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 等系列。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭