为MMX鸣锣开道 李智渊 1997-01-01   最近Intel公司宣布,用了他们最新的视频会议系统Proshare,再加上一台微机、一条电话线,人们只须付本地电话费的价钱就可以打长途电话了。更“神”的是,据Intel介绍,租用Proshare软件,通过普通的电话线和28.8Kbps的Modem,在MMX PC上就可以提供24帧/秒的连续视频画面。可以设想,当我们坐在家里的个人计算机旁,通过普通的电话线就能和远在各地的家人或者业务伙伴如同面对面的那样谈话,欣赏他们最新拍出来的照片,看他们提供的图表……那将是多么惬意的事。   这里提到的MMX PC,就是在MMX技术的基础上建立起来的PC。MMX(MultiMedia eXtension,多媒体扩展指令集)是近来十分热门的一项多媒体新技术,可以说是十多年前Intel CPU从16位扩展到32位以来,CPU体系结构上最大的一项革新了。   大家知道,多媒体技术中由于涉及到图像和语音的处理(尤其是三维图像和语音的处理,如三维游戏、立体绘图、三维仿真、立体音效等),需要进行模/数、数/模转换,需要进行压缩/解压缩处理。总的说来,需要比较长的处理时间和占用很大的空间。更重要的是,过去设计CPU时,其指导思想是主要用它来做数据和文字处理,现在要用它来做多媒体处理就有一点勉强,不太适宜。若硬要用,只能是事倍功半。   过去是怎样解决多媒体处理问题的呢?过去所用的一个重要手段是在CPU之外再使用一种专门设计的DSP(数字信号处理器)。DSP常常使用专用的LSI(大规模集成电路),成本相当高,适合于比较高档的专用系统,在一般的多媒体计算机上使用还有一定的困难。   能不能就在CPU上想办法,在CPU上增加一些功能就能花较小的代价解决问题?通过分析发现,许多似乎不相关的领域中所用的算法,其实有着许多共同之处。例如,在应用程序中常常要用到许多“小整数”的数据类型,具体地讲,在多媒体技术中常常用8位来处理一个像素、用16位来进行音频采样等就属于这种情况。它们的特征是定时、重复的存储模式,以及对局部化的、大数据量的文件进行重复的运算。这种具有重复性的算法使许多操作可以并行地进行。   MMX是在原Intel CPU上加上了新的特殊指令,并融合到Intel CPU的体系结构中使之成为一个整体,以便保持与现有的操作系统和其他软件的兼容性。这些添加上去的特殊指令专门用于并行处理多媒体算法中的通用的整体计算,从而可以大大提高处理速度。例如,当光线减弱,一个屏幕上的所有元素都变暗时,传统的处理办法是:将所有的像素依次移入CPU中,读出每个像素的值,从中减去某个值以降低亮度,然后再将新的像素值写入。也就是说,有多少个像素,就要做多少个基本上重复的迭代运算,从而花掉大量宝贵的处理时间。   但是,既然每个像素都是独立的,这些迭代就可以用MMX技术并行地进行,从而可以节省大量的处理时间。这里,使用了“单指令,多数据流”(SIMD)的概念。MMX技术将8位和16位的整数数据组合起来,把它们作为一个单独的64位数整体送入CPU进行处理。由于这些数据可以进行并行处理,性能显然就能得到很大的改善。例如,对于上述处理像素的例子,处理速度就可以提高至原来的8倍。   绝大多数MMX指令只是把标准的整型指令如:加、减、乘、与或等指令“包装”起来而已。用了这些新的指令来编写程序以后,像上述的视频会议系统运转起来就快得多,效率也高得多。例如,一条叫作PADDUSB(Packed ADD Unsigned Staurating Byte)的MMX指令就能代替40条传统的Intel指令。   在Intel的MMX技术中,添加了4个新的数据类型、8个64位寄存器以及57条新的指令到Intel体系结构中。这样,就使更多的同时实时操作(如多通道的音频、视频、动画、Internet通信等)运转更快、更好,从而带来许多好处。   为利用好MMX技术,发挥MMX技术的优势,软件必须专门编写,而且只有在MMX专用处理器上才能充分发挥其优势。不过,我们也不需要有太多的担心,除了MMX CPU是大势所趋之外,目前绝大多数用了MMX技术的应用软件仍然能够在大量MMX技术处理器上运转,只是其功能的改善程度不同而已。由于MMX技术与以前若干代的Intel体系结构全兼容,所以能提供更多的功能给新的多媒体应用软件。   Intel推出MMX的目的在于要用比较低的代价(不用昂贵专用的DSP等)提高CPU对多媒体及通信软件的处理速度,使个人计算机与多媒体、通信结合的这一发展趋势与CPU的发展更加紧密结合起来,引导市场对更新、更快的CPU产生更大的需求,从而提高其市场占有率。第一批采用了MMX技术的Intel奔腾处理器(代号为P55C)已在今年一季度上市,其台式机的工作频率为166MHz和200MHz,而笔记本式的工作频率为150MHz。此外,其更高档的带有MMX技术的Pentium Pro也将很快面世,它的工作频率可能将达266MHz甚至更高。预计,从今年下半年起Intel生产的CPU将全部采用MMX技术,其它生产CPU芯片的有名公司AMD处理器K6以及Cyrix公司的6X86的处理器也将采用MMX技术。显然,作为整机说,今后多媒体PC机必将以MMX技术为一个新的立足点,MMX技术也将因之而得到进一步的发展,并发挥更大的作用。