什么是共享内存MIMD架构?


共享内存MIMD架构被称为多处理器。它可以被认为是一组处理器和一组内存模块。任何处理器都可以通过互连网络直接访问任何内存模块,如图所示。这组内存模块代表一个由所有处理器共享的全局地址空间。这种类型的并行机称为共享内存MIMD架构。

共享内存MIMD架构的优点

共享内存MIMD架构具有以下优点:

  • 不需要对代码或数据进行分区,因此单处理器编程方法可以简单地适应多处理器环境。

  • 当两个或多个进程通信时,不需要物理传输数据。用户进程可以访问制造商存储信息的位置。

  • 处理器之间的通信非常高效。

  • 编程共享计算机比分布式计算机更容易。

共享内存MIMD架构的缺点

共享内存MIMD架构具有以下缺点:

  • 共享内存系统的主要缺点是由于争用问题导致的可扩展性不足。当多个处理器需要访问相同的内存模块时,它们必须争夺访问权限。获胜者可以访问内存,而失败者则必须等待。处理器数量越多,内存争用的可能性就越大。

  • 尽管共享内存子系统的编程通常比多计算机编程简单,但同步访问共享数据结构需要某些同步结构,例如信号量、条件临界区、监视器等。使用这些结构会导致程序行为不确定,从而导致难以发现的编程错误。

  • 在处理器和内存模块之间使用高吞吐量、低延迟的互连网络可以显著提高可扩展性。

  • 为了减少内存争用问题,共享内存系统扩展了称为缓存内存的小型本地内存。每当处理器发出内存引用时,首先检查关联的缓存内存,以查看所需数据是否存储在缓存中。

  • 可以无需使用互连网络执行内存引用,从而减少内存争用。如果所需的信息不在缓存内存中,则将包含该数据的页面传输到缓存中。主要假设是共享内存程序通常提供良好的引用局部性。例如,在执行过程期间,在许多情况下,只需访问包含在处理器缓存中的本地数据就足够了。

  • 逻辑共享内存可以物理实现为本地内存的集合。这种新型架构称为虚拟共享内存或分布式共享内存架构。

更新于: 2021年7月23日

3K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告