SSE指令集简记

本文介绍了Intel的SSE指令集,一种用于提高处理器处理单指令多数据流(SIMD)能力的扩展。内容涵盖SSE的起源、寄存器结构、指令分类以及操作示例,特别强调了SSE在浮点运算和比较操作上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSE?

SSE(为Streaming SIMD Extensions的缩写)是由 Intel公司,在1999年推出Pentium III处理器时,同时推出的新指令集。如同其名称所表示的,SSE是一种SIMD指令集。所谓的SIMD是指single instruction, multiple data,也就是一个指令同时对多个资料进行相同的动作。较早的MMX和 AMD的3DNow!也都是SIMD指令集。因此,SSE本质上是非常类似一个向量处理器的。SSE指令包括了四个主要的部份:单精确度浮点数运算指令、整数运算指令(此为MMX之延伸,并和MMX使用同样的暂存器)、Cache控制指令、和状态控制指令。

寄存器

新增xmm0 ~ xmm7 共8个寄存器,均为128位,每一个用来存储从data0 ~ data3 共4个32位浮点数。其中排列从data0起作为低位,一直到data3作为最高位的浮点数。
128——————96————–64——————32—————-0
|———–data3—-|——-data2–|——–data1—–|—–data0—–|

指令

分类

  • packed(包裹指令):对寄存器中4个浮点数均进行一次计算
  • scalar(标量指令):对寄存器中的data0进行一次计算,其余data保持不变

两个大类。

操作指令后缀

|——具体操作——|——s或p——|——-s——–|

  • 具体操作:如add, mov等等
  • s或p,指明操作的种类,p即packed,s即scalar
  • s&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值