📜  计算机架构|弗林的分类法

📅  最后修改于: 2021-06-28 15:15:34             🧑  作者: Mango

并行计算是将作业分解为可以并行执行的离散部分的计算。每个部分进一步细分为一系列说明。每个部分的指令在不同的CPU上同时执行。并行系统处理多个计算机资源的同时使用,这些资源可以包括具有多个处理器的单个计算机,通过网络连接以形成并行处理集群的多个计算机,或两者的组合。
并行系统比具有单个处理器的计算机更难编程,因为并行计算机的体系结构会相应变化,并且必须协调和同步多个CPU的进程。

并行处理的关键是CPU。根据可以同时处理的指令和数据流的数量,计算系统可分为四大类:

弗林的分类–

  1. 单指令单数据(SISD)系统–
    SISD计算系统是一种单处理器机器,能够执行一条指令,对一条数据流进行操作。在SISD中,机器指令以顺序方式进行处理,采用该模型的计算机通常称为顺序计算机。大多数常规计算机都具有SISD体系结构。所有要处理的指令和数据都必须存储在主存储器中。

    SISD模型中处理单元的速度受计算机内部传输信息的速率的限制(取决于)。主要的代表性SISD系统是IBM PC工作站。

  2. 单指令多数据(SIMD)系统–
    SIMD系统是一种多处理器机器,能够在所有CPU上执行相同的指令,但可以在不同的数据流上运行。基于SIMD模型的机器非常适合科学计算,因为它们涉及许多矢量和矩阵运算。因此,信息可以传递到所有处理元素(PE),向量的组织数据元素可以分为多个集合(对于N个PE系统为N个集合),每个PE可以处理一个数据集。

    代表性的SIMD系统是Cray的矢量处理机。

  3. 多指令单数据(MISD)系统–
    MISD计算系统是一种多处理器机器,能够在不同的PE上执行不同的指令,但它们都在同一数据集上运行。

    示例Z = sin(x)+ cos(x)+ tan(x)
    系统对同一数据集执行不同的操作。使用MISD模型构建的机器在大多数应用程序中都没有用,虽然构建了一些机器,但是它们都无法在市场上买到。

  4. 多指令多数据(MIMD)系统–
    MIMD系统是一种多处理器机器,能够对多个数据集执行多个指令。 MIMD模型中的每个PE都有独立的指令流和数据流。因此,使用此模型构建的机器可以满足任何类型的应用。与SIMD和MISD机器不同,MIMD机器中的PE是异步工作的。

    基于PE与主内存耦合的方式,MIMD机器大致分为共享内存MIMD分布式内存MIMD。

    共享内存MIMD模型(紧密耦合的多处理器系统)中,所有PE都连接到单个全局内存,并且它们都可以访问它。在此模型中,PE之间的通信是通过共享内存进行的,所有其他PE都可以看到一个PE对存储在全局存储器中的数据进行修改。占主导地位的代表性共享内存MIMD系统是Silicon Graphics机器和Sun / IBM的SMP(对称多处理)。
    分布式内存MIMD机器(松散耦合的多处理器系统)中,所有PE都具有本地内存。在此模型中,PE之间的通信通过互连网络(进程间通信通道或IPC)进行。连接PE的网络可以配置为树状,网状或根据要求。
    相对于分布式内存MIMD模型,共享内存MIMD体系结构更易于编程,但对故障的容忍度较低,并且更难扩展。共享内存MIMD的故障会影响整个系统,而分布式模型则不是这样,在分布式模型中,每个PE都可以轻松隔离。此外,共享内存MIMD体系结构不太可能扩展,因为添加更多的PE会导致内存争用。在每个PE具有自己的内存的分布式内存的情况下,这种情况不会发生。由于实际结果和用户需求的结果,分布式内存MIMD体系结构优于其他现有模型。

参考 –
弗林的分类法
掌握云计算:基础和应用程序编程