知识卡片
指令级并行与SIMD的区别
内容
提升单核性能除了多核水平扩展,还有一条纵向路径:现代处理器用超标量架构允许多条无依赖指令在同一时钟周期并发派发,这是指令级并行;当某条指令本身已无法再拆分并发时,SIMD换了个维度——把多个独立数据单元打包进更宽寄存器(如256位YMM),一条指令同时作用在所有数据单元上,本质是用更宽数据位宽换并行度。两者都是”用空间换时间”,区别在于指令级并行拆的是指令流,SIMD拆的是数据流。
参考来源
《深入浅出DPDK》第3章《并行计算》
知识卡片
提升单核性能除了多核水平扩展,还有一条纵向路径:现代处理器用超标量架构允许多条无依赖指令在同一时钟周期并发派发,这是指令级并行;当某条指令本身已无法再拆分并发时,SIMD换了个维度——把多个独立数据单元打包进更宽寄存器(如256位YMM),一条指令同时作用在所有数据单元上,本质是用更宽数据位宽换并行度。两者都是”用空间换时间”,区别在于指令级并行拆的是指令流,SIMD拆的是数据流。