请输入您要查询的百科知识:

 

词条 MMX技术
释义

MMX是英立Multi-media Extension的缩写,中文为多媒体扩展指令集。MMX是Intel公司为增强 CPU 在音像、图形和通信应用方面而采取的技术,MMX技术是继Intel386(TM)处理器(将体系结构扩展至32位)之后对Intel体系结构的最重要的加强。这些指令桌能够加速处理有关图形、影像、声音等的应用,MMX 加强了在多媒体处理功能的不足,它可以利用其内建的多媒体指令来模拟3D绘图的处理、 MPEG的压缩/解压缩。立体声的音效等,只要是软件支持MMX CPU,即可以取代这些硬件的接口而达到多媒体的功效。

技术概况

Intel(美国英特尔公司)的MMX(TM)技术拟在加速多媒体及通信应用程序的运行。这项技术包含一些新的指令及数据类型,从而使得应用程序获得更高水平的性能。

MMX技术被设计为一套基本的、通用的整数指令,可简便地应用于各种多媒体及通信应用程序。此项技术的重点为:

* 单指令、多数据(SIMD)技术

* 57条新指令

* 8位64位宽的MMX寄存器

* 四种新的数据类型

MMX技术的基础是一项称为单指令、多数据(SIMD)的技术。它使得许多条信息可由一条单一指令来处理,这种平行操作使性能得以大幅度地提高。MMX技术被集成到Intel体系结构的处理器中,同时保持了与现有操作系统(如MS DOS,Windows 3.1,Windows95,OS/2及UNIX)的充分兼容。除此之外,所有Intel体系结构的软件将能够在采用MMX技术的系统中运行。

MMX技术的定义十分简单。这项技术通用性极高,可满足建立在当前及未来算法上的个人电脑应用程序的大部分需求。MMX指令不具特许性,可用于应用程序、编码译码器、算法及驱动程序。

MMX技术给多媒体和通信应用程序带来了新的动力。MMX技术增加了一些新的数据类型和指令,从而能并行处理数据。MMX技术与现有的操作系统和应用软件完全兼容。MMX技术使个人电脑平台更上一层楼。它能运行一些新的应用程序,并增加了一些个人电脑的新用途。它帮助建立起一种把新的个人电脑用作更有效的通信和多媒体装置的范例。Intel将MMX技术集成到多代处理器中,配置了该技术的系统已经从1997年大规模生产。

MMX的另一个特征是在计算结果超过实际处理能力的时候也能进行正常处理。若用传统的X86指令,计算结果一旦超出了CPU处理数据的限度,数据就要被截掉,而变成较小的数。MMX利用所谓的“饱和(Saturation)”功能,圆满的解决了这一问题。计算结果一旦超过了数据大小的限度,就能在可处理范围内自动变换成最大值。

数据结构

多媒体软件具有如下显著的特点:

1、 小整型数据类型(图形数据为8位 ,声频数据为16位)

2、 对小整型数据的频繁且重复的计算操作(例如被频繁的调用的核心算法);

3、 许多操作具有内存的并行性(例如对大量的数据进行同一个加,减或乘法运算操作);

MMX技术设计了一套基本的,通用的紧缩整形指令,共57条。

所谓“紧缩整形数据”是指多个8/16/32位的整形数据组合成为一个64位的数据.MMX指令主要就是使用

这种紧缩整形数据,它又分成4种整形类型:紧缩字节、紧缩字、紧缩双字、紧缩4字

。紧缩字节(Packed Byte): 8个字节组合成一个64位的数据;

。紧缩字 (Packed Word): 4个字组合成一个64位的数据;

。紧缩双字(Packed Doubleword): 2个双字组合成一个64位的数据;

。紧缩4字 (Packed Quadword):一个64位数据

这样一条MMX指令就能够同时处理8/4/2个数据单元,这就是所谓的“单指令多数据SIMD”结构。这种结构是MMX技术把机器性能提高的最根本因素。

为了方便使用64位紧缩整形数据,MMX技术含有8个64位的MMX寄存器(MM0-----MM7),只有MMX指令可以使用MMX寄存器。

值得一提的是,MMX寄存器是随机存取的,但实际上是借用了8个浮点数据寄存器实现的。浮点处理单元FPU有8个浮点寄存器FPR,以堆栈方式存取。每个浮点数据寄存器有80位,高16位用于指数和符号,低64位用于有效数字。MMX利用其64位有效数字部分用做随机存取的64位的MMX寄存器。

指令集

1、算术运算:

PADD[B、W、D] 环绕加[字节,字,双字]

PADDS[B , W] 有符号饱和加[字节,字]

PADDUS[B , W] 无符号饱和加[字节,字]

PSUB[B、W、D] 环绕减[字节,字,双字]

PSUBS[B,W] 有符号饱和减[字节,字]

PSUBUS[D,W] 无符号饱和减【字节,字】

PMULHW 紧缩字乘后取高位

PMULLW 紧缩字乘后取低位

PMADDWD 紧缩字乘,积相加

2、比较:

PCMPEQ[B,W,D] 紧缩比较是否相等【字节,字,双字】

PCMPGT[B,W,D] 紧缩比较是否大于【字节,字,双字】

3、类型转换:

PACKUSWB 按无符号饱和压缩【字成字节】

PACKSS[WB,DW] 按有符号饱和压缩【字/双字成/字节/字】

PUNPCKH[BW,WD,DQ] 扩展高位【字节,字,双字成字,双字,4字】

PUNPCKL[BW,WD,DQ] 扩展低位【字节,字,双字成字,双字,4字】

4、逻辑运算:

PAND 紧缩逻辑与

PANDN 紧缩逻辑与非

POR 紧缩逻辑或

PXOR 紧缩逻辑异或

5、位移:

PSLL[W,D,Q] 紧缩逻辑左移[字,双字,4字]

PSRL[W,D,Q] 紧缩逻辑右移[字,双字,4字]

PSRA[W,D] 紧缩算术右移【字,双字】

7、数据传送:

MOV[D,Q] 从MMX寄存器传人/传出【双字/4字】

8、状态清除

状态清除

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/14 19:27:12