首页/计算机组成原理/中央处理器/向量处理器 🔗 在 Obsidian 中打开
计算机组成原理 · 中央处理器

向量处理器

重要度 ⭐⭐⭐中央处理器向量处理器SIMD数据级并行CPU
速查
向量处理器 = SIMD(数据级并行):一条指令对一组数据执行相同操作。关键部件:向量寄存器、向量功能单元、向量掩码。向量 N 次操作只需 1 条指令,标量需 N 条;执行时间 = 启动时间 $+ N\times$ 单元素时间。

核心概念

向量处理器(Vector Processor)是一种能够对向量数据(一组有序数据)执行单条指令的处理器,属于 SIMD(单指令多数据流)架构。

核心思想:一条向量指令可以同时对一组数据元素执行相同操作。例如,一条向量加法指令可以同时完成 N 对元素的加法,而标量处理器需要 N 条独立的加法指令。

关键硬件组成

  1. 向量寄存器:存储整个向量(如 64 个 64 位元素),而非单个标量。
  2. 向量功能单元:流水化的加法器、乘法器等,可连续处理向量元素。
  3. 向量掩码寄存器:用于条件执行,只对满足条件的元素执行操作。
  4. 收集/散射单元:支持非连续内存访问(gather/scatter)。

向量执行模式

  • 水平处理模式:逐元素处理,效率低。
  • 垂直处理模式:流水化并行处理所有元素,效率高。

关键性质

特性说明
并行度一条指令处理 N 个数据元素
优势高吞吐率、低控制开销、高能效
劣势只适合数据并行的计算模式
向量长度由向量寄存器宽度决定,超出需分段处理
链接技术前一条向量指令的结果可直接作为下一条的输入(类似旁路)
向量处理器类型代表特点
存储器-存储器早期 Cray操作数直接来自存储器
寄存器-寄存器现代向量处理器操作数在向量寄存器中

常见考法

考法解题套路
向量处理器的分类属于 SIMD 架构,实现数据级并行
向量 vs 标量的性能对比向量 N 次操作只需 1 条指令(忽略启动开销),标量需 N 条
向量链接技术类似流水线旁路,减少数据依赖导致的停顿
向量长度寄存器处理长度超过向量寄存器的数组时需要分段
计算向量指令的执行时间启动时间 $+ N\times$ 单元素处理时间

易错点

必记
  • 向量处理器 $\neq$ 多核处理器:向量处理器是 SIMD(一条指令处理多数据),多核是 MIMD(多条指令处理多数据)。
  • 向量指令有启动开销:第一条结果不是立即出来,需流水线填满后才能持续输出。
  • 适合数据并行(如数组运算),不适合任务并行(如不同逻辑的分支)。
  • 向量掩码处理条件分支:掩码标记哪些元素需要执行,避免标量分支。

核心结论

  1. 向量处理器属于 SIMD 架构,通过一条指令处理一组数据实现数据级并行。
  2. 向量链接技术是重要优化,减少数据依赖的停顿。
  3. 向量处理器在科学计算和大规模数据处理中效率极高。
  4. 现代 GPU 的计算核心本质上就是大规模的向量/SIMD 处理器。

记忆卡片

向量处理器属于哪种并行?
SIMD(数据级并行)。
向量处理器的核心优势?
一条指令处理 N 个数据,高吞吐率。
向量链接是什么?
前一指令结果直接作为下一条输入,类似旁路。
向量 vs 标量指令数?
向量 1 条 vs 标量 N 条;适合数组/矩阵等数据并行场景。

交互动画 · 向量加法 C = A + B

向量寄存器 V0 (A) 向量功能单元 VADD 向量寄存器 V2 (C) 1 2 3 4 5 6 7 8 10 20 30 40 50 60 70 80 VADD A[i] + B[i] → C[i] (8 元素向量)
标量:逐对执行需 8 条加法指令;向量:一条 VADD 并行完成
提示:橙色 = 正在处理,绿色 = 已得到结果

相关知识点

sisd-simd-mimd dynamic-pipeline superscalar-pipeline

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