并行计算机的内存组织与线程级并行性解析
1. 并行计算机的分类基础
并行计算机的分类常基于弗林分类法,其中包括单指令多数据(SIMD)和多指令多数据(MIMD)计算机。SIMD 计算机中,所有处理元素同步执行相同指令,例如如下条件语句:
if (b==0) c=a; else c = a/b;
需分两步执行,先由 b 为零的处理元素执行 then 部分,再由其他处理元素执行 else 部分。部分处理器支持 SIMD 计算,如 x86 架构提供的 SSE 或 AVX 指令。AVX 扩展自 2011 年推出,2017 年起有了 AVX - 512,其基于 512 位寄存器,可存储多个单精度或双精度浮点数并进行 SIMD 风格运算。GPU 的计算也基于 SIMD 概念。
MIMD 计算机更灵活,每个处理元素可执行自己的程序流程,多核处理器和多数并行计算机都基于此概念。
2. MIMD 计算机的内存组织分类
MIMD 计算机的内存组织可从物理和程序员视角两方面分类:
- 物理组织 :分为物理共享内存计算机(多处理器)和物理分布式内存计算机(多计算机),也存在混合组织,如在物理分布式内存上提供虚拟共享内存。
- 程序员视角 :有分布式地址空间计算机和共享地址空间计算机,此视角不一定与实际物理内存组织对应。
超级会员免费看
订阅专栏 解锁全文


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



