📅  最后修改于: 2020-11-08 08:41:43             🧑  作者: Mango
设计程序或并发系统时,需要考虑不同的系统和内存体系结构样式。这是非常必要的,因为一种系统和内存样式可能适合一项任务,但可能容易出错,而无法执行另一项任务。
1972年,迈克尔·弗林(Michael Flynn)给出了分类法,用于对计算机系统体系结构的不同样式进行分类。此分类法定义了以下四种不同样式-
顾名思义,此类系统将具有一个顺序的传入数据流和一个用于执行数据流的单个处理单元。它们就像具有并行计算体系结构的单处理器系统一样。以下是SISD的架构-
SISD架构的优点如下-
SISD架构的缺点如下-
顾名思义,此类系统将具有多个传入数据流和数量可在任何给定时间作用于一条指令的处理单元。它们就像具有并行计算体系结构的多处理器系统一样。以下是SIMD的架构-
SIMD的最佳示例是图形卡。这些卡具有数百个单独的处理单元。如果我们谈论SISD和SIMD之间的计算差异,那么对于加法数组[ 5、15、20 ]和[ 15、25、10 ], SISD架构将必须执行三种不同的加法运算。另一方面,使用SIMD架构,我们可以在一个添加操作中进行添加。
SIMD体系结构的优点如下-
只能使用一条指令对多个元素执行相同的操作。
可以通过增加处理器核心数来提高系统的吞吐量。
处理速度高于SISD架构。
SIMD架构的缺点如下-
具有MISD流的系统具有多个处理单元,这些处理单元通过对同一数据集执行不同的指令来执行不同的操作。以下是MISD的架构-
MISD体系结构的代表还没有商业化。
在使用MIMD架构的系统中,多处理器系统中的每个处理器都可以在并行的不同数据集上独立执行不同的指令集。它与SIMD体系结构相反,在SIMD体系结构中,对多个数据集执行单个操作。以下是MIMD的架构-
普通的多处理器使用MIMD架构。这些体系结构基本上用于许多应用领域,例如计算机辅助设计/计算机辅助制造,仿真,建模,通信开关等。
在处理诸如并发和并行性之类的概念时,始终需要加快程序的速度。计算机设计人员发现的一种解决方案是创建共享内存的多计算机,即具有单个物理地址空间的计算机,处理器拥有的所有内核都可以访问该物理地址空间。在这种情况下,可以有多种不同的体系结构样式,但是以下是三种重要的体系结构样式:
在此模型中,所有处理器都统一共享物理内存。所有处理器对所有存储字的访问时间均相等。每个处理器可以具有专用高速缓存存储器。外围设备遵循一组规则。
当所有处理器对所有外围设备都有平等的访问权时,该系统称为对称多处理器。当只有一个或几个处理器可以访问外围设备时,该系统称为非对称多处理器。
在NUMA多处理器模型中,访问时间随存储字的位置而变化。在这里,共享内存在物理上分布在所有处理器之间,称为本地内存。所有本地存储器的集合形成了一个全局地址空间,所有处理器都可以访问该地址空间。
COMA模型是NUMA模型的专用版本。在此,所有分布式主存储器都转换为高速缓存。