MMX

✍ dations ◷ 2025-06-08 18:11:21 #并发计算,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技术基本完善。

相关

  • 罗马及拜占庭时期第八第十公元前30年,屋大维在击败其劲敌马克·安东尼,废除克娄巴特拉七世埃及女王之位后,吞并了托勒密埃及,并将其纳为罗马的一个行省。作为罗马行省的埃及包括了除西奈半岛之外
  • 雌雄间性在生物学上,雌雄同体(英语:Hermaphrodite (plant) 、Intersexual (human being)),又称雌雄不分相,是指同时有雄性和雌性的生殖器官、第二性征。人类的雌雄间性情况称为双性人。在
  • 加蒂诺加蒂诺(法语:Gatineau,/ˈɡætᵻnoʊ/,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code20
  • 乳牛肝菌属乳牛肝菌属(学名:Suillus),是一种担子菌门食用真菌。以下列出乳牛肝菌属的各品种:
  • 迪士尼频道台湾迪士尼频道开播于1995年3月。1995年3月,迪士尼在台湾开始播出,并且在其后开始24小时播放。约于2003年时,迪士尼频道随即开放双语服务,但因为并非于节目告知,只能以网站查看或
  • 阿甘妙世界阿甘妙世界(英文:The Amazing World of Gumball)是部美国与英国的动画喜剧,由位于英国伦敦的卡通频道欧洲工作室制作,2011年开始在美国卡通频道播出。Ben Bocquelet及英国电影和
  • 汉都亚汉都亚(马来语:Hang Tuah;爪夷文:هڠتواه; 又译韩都亚、杭图亚)是15世纪时马六甲王朝的著名的海军统帅,也是一位传说中的马来武士。他是海军统帅中最能干的,对国王无比忠诚,也
  • 本因坊策元本因坊策元(1675年-1699年),生于日本江户,本姓佐山,法名日云,日本江户时代围棋棋士,棋力上手(七段),本因坊家迹目。师事棋圣道策,与桑原道节、本因坊道的、星合八硕、熊谷本硕合称坊门五
  • 纽芬兰布罗布纽芬兰布罗布(英语:Newfoundland Blob)是指2001年在加拿大纽芬兰海滩发现的神秘生物尸体。在2002年,纽芬兰布罗布被确认是严重腐败的抹香鲸尸体。
  • 谢尔盖·马卡罗维奇·克拉马连科谢尔盖·马卡罗维奇·克拉马连科(俄语:Сергей Макарович Крамаренко,转写:Sergei Makarovich Kramarenko,1923年4月23日-2020年5月21日),苏联空军将领,王牌