Computer Architecture - Multiprocessor Systems
费林分类法
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 不同)
受限的或不存在的容错
数据格式、字节序的问题