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

MMX™ Instructions

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

MMX指令可以运行在支持MMX技术的Intel 64和IA-32处理器上。对MMX指令的支持可以通过CPUID查询。

MMX技术的57条指令可以分为以下的子组:数据传输,转换,组合的算术,比较,逻辑,移位,和循环移位操作,以及状态管理指令。

MMX Data Types

MMX指令处理组合的字节,单字,双字与四字整型操作数,这些操作数可以位于存储器中,MMX寄存器中,和/或通用寄存器中。下图未列出四字数据类型,实际上也受MMX指令支持。

MMX Registers

除了数据类型之外,还有8个64位的MMX寄存器,可以通过MM0到MM7引用。参看下图。

MMX技术对操作系统透明,而且100%兼容已有的软件。因此所有的应用程序可以继续运行在带有MMX技术的处理器上。关于MMX的指令集可以参看Intel Architecture MMX™ Technology Programmer’s Reference Manual, Order#: 243007。

MMX Data Transfer Instruction

MMX数据传输指令在MMX寄存器之间或MMX寄存器/存储器之间搬移双字/四字操作数。

指令

描述

MOVD

格式:MOVD mm, r/m32

将r/m32(两个双字)搬移到mm中。

Intel C/C++ Compiler Intrinsic Equivalent

MOVD: __m64 _mm_cvtsi32_si64 (int i)

MOVD: int _mm_cvtsi64_si32 (__m64m)

MOVQ

格式:MOVQ mm, r/m64

将r/m64(一个四字)搬移到mm中。

Intel C/C++ Compiler Intrinsic Equivalent

MOVQ: __m128i _mm_cvtsi64_si128(__int64);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值