词条 | 多媒体CPU |
释义 | MMX是一种多媒体扩展结构技术,它极大提高了计算机在多媒体和通信应用方式的功能。带有MMX技术的CPU特别适合于数据量很大的图形、图像数据处理,从而使三维图形、图画、运动图像为目标的MPEG视频、音乐合成、语音识别、虚拟现实等数据处理的速度有了很大提高 。 多媒体 CPU 是带有MMX 技术的微处理器 MMX技术 MMX技术集成到新一代pentium CPU时,主要体现在: ①采用4种新的数据类型,②使用8个64 位宽的MMX寄存器,③增设57条新指令。? 1.MMX数据类型 MMX技术定义了三种打包的数据类型及一种64位字长的数据类型。打包数据类型中的每个元素以及64位数都是带符号或不带符号的定点整数(字节、字、双字、四字)。四种数据类型定义如下:? 紧缩字节类型:8个字节打包成一个64位数据? 紧缩字类型:4个字打包成一个64位数据? 紧缩双字类型:两个32位的双字打包成一个64位数据? 四字类型:一个64位数。 2.MMX寄存器? 8个MMX寄存器MM0—MM7的宽度为64位,但它们没有单独设置,而是借用浮点处理单元中的8 个(80位)数据寄存器,它是通过使用“别名”的办法来实现的。即浮点单元的8个数据寄存 器被浮点指令看成ST0—ST7,被MMX指令看成是MM0—MM7。 这样,8个字节或4个字或2个双字被打包装入一个64位的MMX寄存器,一旦执行一条MMX指令时,将所有这些8个、4个或2个的数据同时取出,进行数学运算或逻辑操作,最后结果写入MMX寄存器。事实上,这种运算处理过程是一种并行处理过程,故称为SIMD(单指令 多数据)的并行处理。 3.MMX指令集? 如果一条指令支持多种数据类型:字节(B)、字(W)、双字(D)或四字(Q)的操作,则选用某一数据类型时,相应的字母B,W ,D或Q列入指令助记符的后面。对于转换指令要列入两个字母,例如WB表示把字拆成字节,而BW表示把字节拼成字。? MMX指令的先进性体现在以下五个方面: SIMD结构 本节以前,我们遇到的计算机是SISD(单指令单 数据)的系统结构。而SIMD结构则是单指令多数据的系统结构。MMX指令充分利用CPU64位带 宽的处理能力,一次可以并行处理8个8位数据,或4个16位数据,或2个32位数据,因而成为提高计算性能的最基本因素。? 饱和运算方式 这是运算发生溢出时使用的处理方法。如果运算结果超过最大值,则将此值按最大值处理,低于最小值时按最小值处理。由于不需要进行溢出处理, 所以提高了处理能力。饱和运算适合于面向像素数据的处理。 积和运算方式 MMX的乘法指令中,PMADDWD指令是一条关键指令,它具有乘法-累加操作动能。下图说明了它的操作功能,将两个紧缩字类型的数中相应的元素(16位)相乘,生成4个32位的积,再将左侧的两个积相加,得出一个结果;右侧的两个积相加 ,得出另一个结果。这样便生成一个紧缩双字类型的结果数据。积和运算方式特别适合于向量计算与矩阵计算。? 图5.43 PMADDWD指令功能示意图 比较指令特点 MMX的比较指令不建立标志位,而是建立真假条件的屏蔽字,后跟一个逻辑操作,从不同的输入中选择所需要的元素,从而对输入数据并行地分别进行处理。下图表示PCMPGTW指令的功能示意,对应部分比较结果所建立的全“0”表示假条件,全“1”表示真条件。? 图5.44 PCMPGTW指令功能示意图 当输入数据不同而进行分别处理时,传统的做法是一条比较指令后面紧跟一条条件转移指令。条件转移指令会降低指令流水线的性能。MMX的比较指令通过条件选择能力,取消了转移指令,这是MMX技术的一个重要性能特征。? 转换指令特点 MMX的转换指令,是紧缩或解紧缩指令,能方便地完成各种精度的数据转换,其中紧缩指令带有饱和操作。下图表示PACKSSDW紧缩指令的功能示意。它取出4个32位数,将其紧缩为4个16位的数。如果某个数比16位数大,则执行饱和操作。 ? 图5.45 PACKSSDW指令功能示意图 转换指令广泛用于矩阵的行列转换;可以在每对像点之间插入新像点的插值操作;实现RGB与YUV的彩色空间转换等。? |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。