首页/计算机组成原理/中央处理器/SISD/SIMD/MIMD 体系结构 🔗 在 Obsidian 中打开
计算机组成原理 · 中央处理器

SISD/SIMD/MIMD 体系结构

重要度 ⭐⭐⭐⭐中央处理器Flynn分类并行SISDSIMDMIMDCPU
速查
Flynn 按指令流/数据流数量分类:SISD 传统单核、SIMD 向量/GPU(1 条指令多数据)、MISD 理论模型、MIMD 多核/集群。多核 = MIMD;GPU = SIMD/SIMT。

核心概念

Flynn 分类法按指令流数据流的个数将计算机分为四类:

SISD(Single Instruction, Single Data)

  • 单指令流、单数据流;传统单核处理器,每条指令处理一个数据。
  • 串行执行,无数据级并行;例:早期单核 CPU。

SIMD(Single Instruction, Multiple Data)

  • 单指令流、多数据流;一条指令同时对多个数据执行相同操作。
  • 向量处理器GPUSSE/AVX 指令集
  • 例:数组中每个元素同时加 1;应用:图像处理、深度学习、科学计算。

MISD(Multiple Instruction, Single Data)

  • 多指令流、单数据流;多条指令对同一数据执行不同操作。
  • 极少实际应用(理论模型);例:容错系统中多个处理器对同一数据做相同计算比较结果。

MIMD(Multiple Instruction, Multiple Data)

  • 多指令流、多数据流;每个处理器独立执行不同指令处理不同数据。
  • 多核处理器多处理器系统集群;最通用的并行模型。

关键性质

类型指令流数据流代表应用
SISD11传统单核 CPU串行程序
SIMD1GPU / 向量机图像 / 矩阵运算
MISD1理论模型容错系统
MIMD多核 CPU / 集群通用并行

SIMD 的特点

优点缺点
数据级并行效率高只适合数据并行的场景
硬件简单(共享控制单元)需要数据对齐
适合规则数据结构不适合条件分支(masking)
功耗低编程需要向量化

常见考法

考法解题套路
给描述判断类型看指令流和数据流的个数
SIMD 的典型应用向量运算、图像处理、GPU
MIMD 的典型应用多核 CPU、分布式系统
MISD 是否实际存在几乎不存在实际系统
SIMD vs MIMDSIMD 适合数据并行,MIMD 适合任务并行

易错点

必记
  • SIMD 是一条指令对多个数据操作,不是多条指令对一个数据。
  • MISD 几乎不存在实际系统(考试常作干扰项)。
  • 多核 CPU 属于 MIMD,不是 SIMD。
  • GPU 的 SIMT(Single Instruction Multiple Threads)是 SIMD 的变体。
  • 超标量处理器本身还是 SISD(单核内),多核才是 MIMD

核心结论

  1. Flynn 分类:SISD / SIMD / MISD / MIMD。
  2. SIMD 适合数据级并行(向量运算、图像处理)。
  3. MIMD 适合线程级 / 任务级并行(多核处理器)。
  4. MISD 几乎没有实际应用。
  5. 现代处理器常结合多种模式(如多核 + SIMD 指令集)。

记忆卡片

SIMD 是什么?
单指令多数据流:一条指令同时处理多个数据。
多核 CPU 属于什么类型?
MIMD(每个核独立执行不同指令)。
GPU 主要是什么模型?
SIMD/SIMT(数据并行)。
SIMD 的典型指令集?
x86 的 SSE/AVX、ARM 的 NEON;MISD 几乎无实际应用。

交互动画 · Flynn 分类数据流

SISD — 单指令单数据流 指令 1 指令 2 指令 3 指令 4 ALU ALU ALU ALU 数据 1 数据 2 数据 3 数据 4 棕 = 指令流 绿 = ALU 白 = 数据流
选择一种 Flynn 分类,观察指令流与数据流的对应关系
提示:比较「几条指令」vs「几个数据」

相关知识点

superscalar-pipeline hardware-multithreading multi-core-processor

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。