费林分类法根据指令和数据进入CPU的方式, 将计算机架构分为四种不同的类型
单指令流单数据流(SISD, Single Instruction stream Single Data stream)
单指令流单数据流(SIMD, Single Instruction stream Multiple Data stream)
多指令流单数据流(MISD, Multiple Instruction stream Single Data stream)
多指令流多数据流(MIMD, Multiple Instruction stream Multile Data stream)

SIMD
单指令流数据流(SISD)是指传统的串行计算机架构, 在SISD计算机上只有一个核心, 在任何时间点上只有一个指令流在处理一个数据. SIMD是一种并行架构类型, 在基于SIMD架构的计算机上有多个和兴, 在任意时间点上所有核心只有一个指令流处理不同的数据流, 现在大多数计算机都采用了SIMD架构. SIMD本质删是采用一个控制器来控制多个处理器, 同时对一组数据中的每一条分别执行相同的操作, 从而实现空间上的并行性的技术.
从SIMD结构介绍可知, 相较于SISD架构, SIMD架构的计算机具有更高的理论峰值浮点算力, 因而更适合计算密集型任务. 如下图所示, 以加法指令为例, 在SID架构计算机上, CPU先执行一条指令, 进行A1+B1=C1计算, 在执行下一条指令, 进行A2+B2=C2计算, 按此顺序依次完成后续计算. 四个加法计算需依次串行执行四次. 而对于SIMD指令来说, CPU只需执行一条指令, 即可完成四个加法计算操作, 四个加法计算操作并行执行.

SIMD架构的计算机之所以能够并行化执行四个浮点数(甚至更多)操作的原因是支持SIMD指令的CPU在设计时增加了一些专用的向量寄存器. SIMD向量寄存器的长度往往大于通用寄存器, 比如SEE的XMM寄存器的长度为128为, AVX和AVX2的YMM寄存器为256位. 因此, 这些 专用的向量寄存器可以同时放入多个数据. 但需要注意, 这里放入的多个数据需要保证数据类型是一致的.