什么是SIMD?
创始人
2024-04-09 06:23:02

为了提高 CPU 指令处理数据的能力,半导体厂商在 CPU 中推出了一些可以同时并行处理多个数据的指令 ——SIMD指令。

百度百科定义为:

SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。

Simd在性能是有哪些优势?

以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。

由于SIMD指令有多个版本,每个版本支持的指令集不同。所以如果你的软件要支持更多的CPU,就要在使用SIMD指令之前知道当前指令运行所在的CPU是否支持这条指令。

x86/x86_64 提供了CPUID指令,可以通过这个指令查询当前CPU指令支持SSE指令集情况。

CPUID指令可以用来查询CPU的好多东西,Intel有一个超过100页的文档,专门介绍cpuid这条指令。这里我们仅介绍一下SSE相关的内容,后面如有机会也可以专门介绍一下这条指令。

 CPUID指令是从80486开始才有,之前的CPU没有这条指令,当然这个问题大家大可不必担心,因为你能用到486之前的处理器的机会机乎没有,除非你用模拟器去专门模拟这个处理器。

每列的数据存储在一起,可以认为这些数据是以数组的方式存储的,基于这样的特征,当该列数据需要进行某一同样操作,可以使用SIMD进一步提升计算效率,即便运算的机器上不支持SIMD, 也可以通过一个循环来高效完成对这个数据块各个值的计算。

点击下方链接加入先进计算基础训练营

先进计算基础训练营测评名单收集http://hbcjintern.mikecrm.com/2lu8xm8

猿代码科技,现向国家大力输送先进计算行业的人才,助力国家智能科技产业的升级发展。而且猿代码科技也与各个地区的国家超算中心有紧密的合作,例如“无锡国家超算中心”、“天津国家超算中心”等,现向全社会人员以及各个高校在校生提供100个名额,如果你如果你想挣到程序员的高薪,又想有稳定的发展,那请点击下方链接,详细咨询,前50名可得先进计算基础课程,提供面试机会,助你进入目标单位。

猿代码-先进计算猿代码(北京)科技有限公司是一家IT类科技公司,致力于软件开发、系统集成及高素质IT开发人才的训练与培养。icon-default.png?t=M85Bhttp://www.ydma.com/ydm_mobile.html

相关内容

热门资讯

合顺兴日化取得干燥剂上料机相关... 2月7日消息,国家知识产权局信息显示,珠海市合顺兴日化股份有限公司申请一项名为“干燥剂内托自动上料机...
嘉德瑞碳资产取得绿资链上评估相... 2月7日消息,国家知识产权局信息显示,深圳嘉德瑞碳资产股份有限公司申请一项名为“基于区块链的绿色数字...
数安时代申请量子证书系统相关专... 2月7日消息,国家知识产权局信息显示,数安时代科技股份有限公司申请一项名为“一种后量子混合证书全生命...
博可生物取得益生菌微胶囊相关专... 2月7日消息,国家知识产权局信息显示,杭州博可生物科技股份有限公司申请一项名为“一种益生菌微胶囊及其...
鼓楼:笔墨送福年味足 慈善捐赠... 鼓楼区慈善总会开展迎新春公益活动 笔墨送福年味足 慈善捐赠添暖意 为传承中华优秀传统文化,传递慈...