并行处理:从多处理器组织到缓存一致性的全面解析
1. 多处理器组织类型
在并行处理的世界里,Flynn在1972年提出的分类法至今仍是对具有并行处理能力的系统进行分类的常用方法。他将计算机系统分为以下几类:
- 单指令单数据流(SISD) :由单个处理器执行单个指令流,对存储在单个内存中的数据进行操作,单处理器系统就属于这一类别。
- 单指令多数据流(SIMD) :单个机器指令以同步方式控制多个处理单元同时执行,每个处理单元都有与之关联的数据存储器,不同处理器对不同数据集执行相同指令,向量和阵列处理器就属于此类。
- 多指令单数据流(MISD) :将一系列数据传输给一组处理器,每个处理器执行不同的指令序列,但这种结构在商业上并未得到广泛应用。
- 多指令多数据流(MIMD) :一组处理器同时对不同数据集执行不同的指令序列,对称多处理器(SMP)、集群和非均匀内存访问(NUMA)系统都属于这一类别。
MIMD组织中的处理器是通用的,每个处理器都能处理执行数据转换所需的所有指令。根据处理器之间的通信方式,MIMD又可进一步细分。如果处理器共享一个公共内存,那么每个处理器都可以访问存储在共享内存中的程序和数据,并通过该内存进行通信,最常见的此类系统就是对称多处理器(SMP)。在SMP中,多个处理器通过共享总线或其他互连机制共享单个内存或内存池,其显著特点是每个处理器对任何内存区域的访问时间大致相同。而较新的非均匀内存访问(NUMA)组织,顾名思义,处理器对不同内存区域的访问时间可能会有所不同。
此
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



