Flynn 分类法按指令流和数据流的个数将计算机分为四类:
| 类型 | 指令流 | 数据流 | 代表 | 应用 |
|---|---|---|---|---|
| SISD | 1 | 1 | 传统单核 CPU | 串行程序 |
| SIMD | 1 | 多 | GPU / 向量机 | 图像 / 矩阵运算 |
| MISD | 多 | 1 | 理论模型 | 容错系统 |
| MIMD | 多 | 多 | 多核 CPU / 集群 | 通用并行 |
| 优点 | 缺点 |
|---|---|
| 数据级并行效率高 | 只适合数据并行的场景 |
| 硬件简单(共享控制单元) | 需要数据对齐 |
| 适合规则数据结构 | 不适合条件分支(masking) |
| 功耗低 | 编程需要向量化 |
| 考法 | 解题套路 |
|---|---|
| 给描述判断类型 | 看指令流和数据流的个数 |
| SIMD 的典型应用 | 向量运算、图像处理、GPU |
| MIMD 的典型应用 | 多核 CPU、分布式系统 |
| MISD 是否实际存在 | 几乎不存在实际系统 |
| SIMD vs MIMD | SIMD 适合数据并行,MIMD 适合任务并行 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。