SSE Instructions

SSE Overview & History

Intel SSE技术的全称是Streaming SIMD Extension,中文译作流式单指令多数据指令扩展。1999年,Intel在Pentium III处理器上引入了SSE指令集,包括了70条新指令,主要操作单精度浮点数据类型,用于增强浮点计算性能,面向于数字信号处理与图形处理市场。SSE完整的支持IEEE 754 二进制浮点体系结构标准,而且SSE可以在各种处理器工作模式下运行:保护模式,实地址模式和虚拟8086模式。

MMX指令集是Intel的第一代SIMD技术,有两个主要的问题:MMX重用了x87浮点寄存器,这样导致处理器无法同时处理SIMD数据与浮点数据;MMX指令集只能操作整型数据类型。

而SSE引入了独立的新的XMM寄存器组,而且新增加了几条操作MMX寄存器的整型指令,可以看作是对MMX指令集的扩展。由于SSE支持浮点数计算,所以具有更广阔的应用范围,也更受欢迎。

SSE Data Types

SSE指令集将整型数据类型扩展到了128位,包括组合的字节,单字,或双字;还新增了128位的组合单精度浮点数据类型,即4个32位的单精度浮点数据。

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(1) - 概述/历史/新数据类型/新寄存器组

SSE New Registers

在IA-32处理器架构上,SSE提供了8个128位的通用寄存器,每个寄存器都可以直接寻址,可以使用寄存器名XMM0~XMM7直接引用这些寄存器。XMM寄存器组是新的架构状态,使用它们需要操作系统的支持。在Intel 64处理器上,当处理器运行在64位模式下时,SSE指令可以使用16个128位的通用寄存器XMM0~XMM15。

新增加的MXCSR寄存器在下节讲述

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(1) - 概述/历史/新数据类型/新寄存器组

相关文章:

  • 2021-04-04
  • 2021-10-16
  • 2021-11-27
  • 2021-08-28
  • 2021-08-27
  • 2021-04-10
  • 2021-05-26
  • 2021-06-11
猜你喜欢
  • 2021-07-30
  • 2021-06-25
  • 2021-05-28
  • 2021-07-19
  • 2021-12-10
  • 2021-09-30
  • 2021-04-01
相关资源
相似解决方案