SSE Programming Environment

下图是IA-32处理器上的SSE程序设计环境,所有的SSE指令操作XMM寄存器,MMX寄存器,和/或存储器。

  • XMM寄存器,8个,128位宽,存储组合的标量的单精度浮点数据类型。这里标量指的是SSE指令只运算存储在XMM寄存器中的最低32位(双字)的单精度浮点数据类型。
  • MXCSR寄存器,32位宽,提供了SIMD浮点操作需要使用的状态与控制标志位。
  • MMX寄存器,8个,64位宽,用于操作64位组合的整数类型,在某些同时操作MMX与XMM寄存器的指令中,也可以用来保存操作数。
  • GPR通用寄存器,8个,32位宽,用于寻址(MMX与XMM寄存器皆不可用于寻址),也为某些SSE指令保存操作数。
  • EFLAGS标志寄存器,32位宽,保存某些比较操作的结果标志。

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(2) - SSE程序设计环境概述相关推荐

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

    SSE Instructions SSE Overview & History Intel SSE技术的全称是Streaming SIMD Extension,中文译作流式单指令多数据指令扩展 ...

  2. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(9) - 64位整型指令(MMX指令集扩展)

    SSE 64-Bit SIMD Integer Instructions SSE扩展增加了几条64位组合的整型指令,这些指令操作MMX寄存器和64位的存储器操作数,这些指令可以看作是对MMX指令集的扩 ...

  3. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(6) - 逻辑指令 比较指令

    SSE Logical Instructions SSE的逻辑指令执行与,或,非,以及与非操作.操作数是组合的单精度浮点数. 指令 描述 ANDPS 格式:xmm1, xmm2/m128 对操作数执行 ...

  4. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(4) - 数据传输指令

    SSE Instruction Set SSE指令集大致可以分为4个功能组: 组合的与标量的单精度浮点指令 数据传输指令 算术指令 逻辑指令 比较指令 混洗shuffle指令 转换指令 64位SIMD ...

  5. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - MMX技术(1) - 概述 传输指令

    MMX™ Instructions IA-32架构引入了4个指令集扩展,使得IA-32处理器可以执行单指令多数据SIMD操作.这些扩展包括MMX技术,SSE扩展,SSE2扩展,SSE3扩展. MMX指 ...

  6. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(7) - 混洗指令 解组合指令

    SSE Shuffle and Unpack Instructions SSE的混洗指令与解组合指令混洗shuffle或交错interleave单精度浮点操作数,并将结果保存到目标操作数. 指令 描述 ...

  7. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(8) - 数据类型转换指令

    SSE Conversion Instructions SSE的转换指令支持组合的/标量的单精度浮点数与双字整型数(32字节)之间的数据类型转换. 以下两条指令将整型数转换为浮点数. 指令 描述 CV ...

  8. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(3) - MXCSR寄存器详解

    MXCSR Control and Status Register 32位宽的MXCSR寄存器(参看下图)包含了控制与状态标志位,适用于SSE,SSE2和SSE3 SIMD浮点操作.这些标志位包括: ...

  9. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(13/E) - FXSAVE/FXRSTOR指令

    FXSAVE and FXRSTOR instructions FXSAVE与FXRSTOR指令是从Pentium II处理器引入到IA-32架构上的,早于SSE指令集的引入.这两条指令的最初版本是用 ...

最新文章

  1. Python多版本pip安装库的问题
  2. 2019年集五福本周五上线!四种玩法你都会了吗?
  3. MySQL性能测试工具sysbench的安装和使用
  4. 基本电子电路系列——MOS管
  5. python爬虫设计_python爬虫设计(刷访问量,赞)
  6. 【mac】mac 安装 RibbitMQ 报错 Error when reading /Users/lcc/.erlang.cookie: eacces
  7. LAN7500 Mac OS X Device Driver
  8. 华为盒子显示未连接服务器,华为盒子 连接服务器地址
  9. 使用Excel处理姓名数据,转为拼音并且姓与名首字母大写
  10. Ubuntu设置下载源
  11. Linux-2.6 open()打开文件涉及的内核处理和数据结构分析
  12. FIT/WeFIT 开发者冯华君采访
  13. 【IOS】关于ipad和iPhone尺寸的分辨率
  14. 巴比特《8问》专访 Conflux 创始人龙凡教授
  15. 了解MVC模式与MVC框架
  16. mysql和ES对比
  17. PHP内核-Apache2的SAPI
  18. strtotime 用法
  19. WIN7 64位 配置JDK1.7的环境变量(百度上那么多坑爹货,乱搞真浪费时间)
  20. 前端实现input标签输入框密码框显示文字效果

热门文章

  1. 利用Linux命令和perl脚本批量将文件重命名
  2. Hadoop1.x中HDFS工作原理
  3. 第十章:在Spark集群上掌握比较重要的图操作之Computing Degree
  4. 塑源码是什么_注塑机源代码
  5. 安卓10可用的性能监视器_iPad 秒变监视器,无线图传设备真的有用吗?
  6. css js写在一起 vue_如何把vue2.0 和 animate.css合并在一起使用(详细教程)
  7. python建立矩阵原理_怎么用python建立矩阵-问答-阿里云开发者社区-阿里云
  8. uban系统如何安装java_Ubuntu系统下安装Java并配置环境
  9. shell mysql e_shell脚本操作mysql数据库
  10. ubuntu14.04 mysql5.6_ubuntu14.04编译安装mysql5.6.28