MMX

✍ dations ◷ 2025-07-03 11:18:26 #并发计算,X86架构

MMX是由英特尔开发的一种SIMD多媒体指令集,共有57条指令。它于1996年集成在英特尔奔腾(Pentium)MMX处理器上,以提高其多媒体数据的处理能力。

其优点是增加了处理器关于多媒体方面的处理能力,缺点是占用浮点数寄存器进行运算(64位MMX寄存器实际上就是浮点数寄存器的别名)以至于MMX指令和浮点数操作不能同时工作。为了减少在MMX和浮点数模式切换之间所消耗的时间,程序员们尽可能减少模式切换的次数,也就是说,这两种操作在应用上是互斥的。AMD在此基础上发展出3D Now!指令集。

3D Now!发布一年后,Intel在MMX基础上发展出SSE(Streaming SIMD Extensions)指令集,用来取代MMX。现在,新开发的程序不再仅使用MMX来最优化软件运行性能,而是改使用如SSE、3DNOW!等更容易最优化性能的新一代多媒体指令集,不过目前的处理器大多仍可以运行针对MMX最优化的较早期软件。

1997年,Intel公司起诉AMD公司与Cyrix公司非法使用(misuse)了商标MMX。随后这起诉讼庭外和解,AMD公司承认MMX为Intel的商标,Intel允许AMD公司使用MMX作为一项技术的名称。在这起诉讼中,AMD披露MMX是Intel命名的矩阵数学扩展(Matrix Math eXtensions)的字母缩写。

MMX寄存器,称作MM0到MM7,实际上就是处理器内部80比特字长的浮点寄存器栈st(0)到st (7)的尾数部分(64比特长)的复用。由于浮点栈寄存器的高16位未被MMX技术使用,因此这16位都置为1,因此从栈寄存器的角度看,其浮点值为NaN或Infinities,这可用于区分寄存器是处于浮点栈状态还是MMX状态。作为MMX寄存器都是直接访问。利用了装配数据类型(packed data type)的概念,每个MMX寄存器的64比特字长可以看作是2个32位整数、或者4个16位整数、或者8个8位整数,从而可以执行整数SIMD运算。这对于1990年代中期的2D、3D计算的加速还是很有意义的,因为当时的计算机的图形处理器(GPU)还很不发达。但现在MMX整数SIMD运算对于图形运算来说是多余的技术了。不过MMX的饱和算术运算(saturation arithmetic operations)对于一些数字信号处理应用还是有用的。

继MMX技术之后,Intel又于1999年在Pentium-III处理器上推出SSE技术,引入了新的128位宽的寄存器集(register file),称作XMM0到XMM7。这些XMM寄存器用于4个单精度浮点数运算的SIMD执行,并可以与MMX整数运算或x87浮点运算混合执行。2001年在Pentium 4上引入了SSE2技术,进一步扩展了指令集,使得XMM寄存器上可以执行8/16/32位宽的整数SIMD运算或双精度浮点数的SIMD运算。这使得SIMD技术基本完善。

相关

  • 但丁·阿利吉耶里但丁·阿利吉耶里(意大利语:Dante Alighieri,意大利语:,1265年-1321年9月14日)全名杜兰提·第·阿利吉耶罗·戴尔·阿利吉耶里,也就是著名的意大利中世纪诗人但丁。他是现代意大利语
  • 雅各布·贝肯斯坦雅各布·大卫·贝肯斯坦(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram
  • 黄体生成素β亚基1M92· signal transduction · cell-cell signaling · male gonad development · peptide hormone processing 黄体生成素β亚基(英语:Luteinizing hormone subunit be
  • 黄金矩形黄金矩形是一个长和宽的比为黄金比例 φ {\displaystyle \varphi } 的矩形。在黄金矩形中以短边为边长划一正方形,矩形剩下的部分是一个
  • 硝酸氯硝酸氯是大气平流层中一种重要的气体。它储存着氯元素,加快臭氧的消耗。它与金属、金属氯化物、醇、醚和多数有机化合物剧烈反应并可能爆炸。如果被加热到分解温度,它会释放出
  • 盎格鲁-撒克逊使命盎格鲁-撒克逊使命指公元8世纪时,法兰克帝国向苏格兰以及盎格鲁-撒克逊英格兰传播凯尔特基督教的过程,传教团自7世纪末期于弗里西亚开始行动。
  • 下颌角整形下颌角整形,又称“去下颌角手术”或“瘦脸整形”。是一种美容外科手术。是通过部分切除位于下颌角处的下颌骨,以达到让脸形变小变瘦的目的。这一手术往往与部分咬肌切除同时进
  • 方云龙方云龙(-1936年),傣族,云南省芒市人。第二十三世芒市土司。方云龙出身土司世家,为二十二世土司方克明长子。1931年,方克明病故;1932年11月14日,芒市司向省府呈请方云龙袭位。1933年2
  • 食品模型食品模型(日语:食品样本),或称食物模型、料理模型,是一种模拟食物真实样貌制成的比例模型。该种模型经常被餐馆放置在其入口,以向顾客具体描绘其所贩售菜肴。其制作原料主要为蜡或
  • 王洽 (明朝)王洽(?-1630年),字和仲,号葱岳,山东临邑县人。明末政治人物,官至兵部尚书。万历三十二年(1604年)进士,历任东光、任丘、长垣知县。擢吏部稽勋主事,历考功、文选司郎中。天启初,迁太常寺少