费林分类法

Flynn’s taxonomy

  • 单一指令流单一数据流(SISD)

    在指令流和数据流中都不存在并行性

    传统的单处理器(uniprocessor)计算机

  • 单一指令流多数据流(SIMD)

    利用多个数据流对单一指令流进行并行操作的计算机

    实现数据并行性

    例如阵列处理器(array processor)或图形处理单元(GPU)

  • 多指令流单一数据流(MISD)

    多个指令在一个数据流上进行操作

    不常见的架构,一般用于容错(fault tolerance)

  • 多指令流多数据流(MIMD)

    多个处理器同时对不同数据执行不同指令

松耦合多处理器系统

Loosely coupled (distributed) multiprocessor systems - each node runs different OS instances and communicate by passing messages rather than through a shared memory

紧耦合多处理器系统

Tightly coupled (parallel) multiprocessor systems - usually mounted on the same mother board or within the same silicon die, communicates via shared memory and (usually) controlled by a single OS

对称多处理系统

Symmetric multiprocessing (SMP) system

Systems with two or more identical cores

优缺点

  • 二进制兼容性

  • 简单的系统设计、任务调度和性能评估

  • 容错(fault tolerance),如果一个 core 损坏了,系统仍然能够以较低的性能继续工作,而非彻底崩溃,即优雅降级(graceful degradation)

  • 相较于 HMP,在相同性能下功耗和花费更多

异构多处理系统

Heterogeneous multiprocessing (HMP) system

Systems that use more than one kind of processor or cores

优缺点

  • 在同样的花费下性能更高

  • 所需功耗更低

  • 在设计、调试、性能评估、任务调度上造成困难

  • 不同的 core 需要不同的二进制(如果 ISA 不同)

  • 受限的或不存在的容错

  • 数据格式、字节序的问题