17、流式单指令多数据扩展(Streaming SIMD Extensions)技术详解

流式单指令多数据扩展(Streaming SIMD Extensions)技术详解

1. MXCSR 寄存器相关操作

应用程序可修改 MXCSR 的控制标志或状态位,以满足特定的 SIMD 浮点处理需求。但向保留位写入非零值会使处理器产生异常,且 MXCSR 的状态标志在错误发生后不会自动清除,需手动重置。可使用 ldmxcsr(加载 MXCSR 寄存器)或 fxrstor(恢复 x87 FPU、MMX、XMM 和 MXCSR 状态)指令修改 MXCSR 寄存器的控制标志和状态位。

当错误条件发生时,处理器会将 MXCSR 错误标志置为 1。将 MXCSR.DAZ 控制标志置为 1,在非正规值舍入为零可接受的算法中能提升性能;MXCSR.FZ 控制标志可用于加速常见浮点下溢的计算,但使用这两个控制标志选项会导致不符合 IEEE 754 浮点标准。

MXCSR 部分位字段说明如下表:
| 位 | 字段名称 | 描述 |
| — | — | — |
| RC | 舍入控制 | 指定 X86 - SSE 浮点结果的舍入方法,有效选项包括舍入到最近值 (00b)、向下舍入到 -∞ (01b)、向上舍入到 +∞ (10b) 以及向零舍入或截断 (11b)。 |
| FZ | 下溢归零 | 置为 1 时,若下溢异常被屏蔽且发生 X86 - SSE 浮点下溢错误,则强制结果为零。 |

2. X86 - SSE 处理技术

2.1 整数操作

x86 处理器使用多种技术处理 x86 - SSE 数据类型。涉及打包整数操作数的大多数 x86 - SSE SIMD 操作与 MMX 技术使用相同计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值