SIMD 基本概念介绍

2023-10-03 language

简介

按照 费林分类法 规则,根据指令和数据进入 CPU 的方式,将计算机架构分成四种:

  • 单指令流单数据流 Single Instruction stream Single Data stream, SISD;
  • 单指令流多数据流 Single Instruction stream Multiple Data stream, SIMD;
  • 多指令流单数据流 Multiple Instruction stream Single Data stream, MISD;
  • 多指令流多数据流 Multiple Instruction stream Multiple Data stream, MIMD。

SIMD 架构的计算机通过特有的寄存器进行加速,这应该是最简单直接的计算加速方式了,而且大多数处理器都支持 SIMD 指令,甚至编译器会对一些场景自动进行 SIMD 指令加速,这里仅介绍最常用的 Intel 处理器。

从 1997 年 Intel 推出第一个 SIMD 指令集 MMX 以来已经不断更新了多个版本,最常用指令集包括了 SSE 和 AVX 。

https://blog.mwish.me/2022/11/05/x86-and-SIMD-programming/#
https://zhuanlan.zhihu.com/p/667104953
https://zhuanlan.zhihu.com/p/591900754
https://zhuanlan.zhihu.com/p/556131141
https://zhuanlan.zhihu.com/p/457505686
https://packagewjx.github.io/2018/11/12/sse-note/

参考