MMX、SIMD、SSE2指令集分别适用于哪些应用场景?
21ic 2024-06-27

MMX(Multimedia Extensions,多媒体扩展指令集)是Intel在1996年推出的一项多媒体指令增强技术,是 Intel公司第一次对x86 指令集进行的多媒体指令扩展,它增加了4个新的数据类型、8个64位寄存器和57条指令,并且采用了SIMD技术,同时保持了与现有软件的兼容。MMX指令集使CPU处理图像、动画、多媒体通信、语音识别以及音频解压缩等方面的能力有了显著提高。浮点运算能力是关系到CPU对多媒体、3D图形处理能力的一个重要指标,而MMX指令集没有大力加强浮点运算能力。在3D图形、Internet 3D网页应用日趋增多的情况下,MMX指令集难以完全满足需要。


SIMD 技术SIMD(Single Instruction Multiple-Data,单指令多数据流)是Intel 为MMX技术设计的一组基本的、通用的指令集,以满足各种多媒体和通信应用的需要。该技术允许利用任何新增加的单个指令处理多组数据,以并行方式处理多个数据元素,从而提高了多媒体和通信软件的运行速率。3D Now!是AMD公司开发的多媒体扩展指令集,共有 27条指令。与MMX技术侧重的整数运算不同,3DNow!主要针对三维建模、坐标变换、效果渲染等三维应用场合而设计,在软件的配合下,可以大幅度提高3D处理性能。但由于指令有限,该指令集主要应用于3D游戏,而对其他商业图形的应用处理支持不足。SSE(Internet Streaming SIMD Extension)被 Intel公司首次应用于Pentium Ⅲ中。SSE共有近70条指令,其中包含50条SIMD浮点运算指令、12条MMX整数运算增强指令、8条优化内存连续数据块传输指令。它包括了原MMX和3D Now!指令集中的所有功能,特别加强了SIMD浮点处理能力,并针对Internet的发展,加强了处理3D网页的能力。SSE指令集与3D Now!指令集互不兼容,但SSE包含了3D Now!技术的绝大部分功能,只是实现的方法不同。SSE兼容MMX指令。SSE2是Intel在Pentium 4处理器中推出的扩展指令集。和SSE指令集相比,SSE2指令集总共有144条指令,其中包括原有的68个SSE指令和新增加的76个SSE2指令。SSE2指令将传统整数MMX寄存器扩展成128位,还提供了128 位SIMD整数运算操作和128位双精密度浮点运算操作。


MMX指令集实质是一种SIMD数据处理方式(单指令流,多数据流)。由Intel公司开发,它允许CPU同时对2-4个甚至8个数据进行并行处理。

它有效的提高了CPU对视频、音频等多媒体方面的处理速度,但3D运算多为浮点运算,而MMX指令集对CPU的浮点运算能力没有什么贡献,因此MMX指令集在制作3D上没有实际意义。

扩展指令集是指CPU增加的多媒体或3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力,著名的有MMX(多媒体扩展指令)、SSE(因特网数据流单指令扩展)和3D Now!指令集。

它也是一种SIMD数据处理方式,但它的加速对象却是CPU浮点运算。它是一个时钟周期内可以同时处理4个浮点运算指令或两条MMX指令。

究其背景,原来"KNI"指令集是Intel公司最早为其下一代芯片命名的指令集名称,而所谓的"MMX2"则完全是硬件评论家们和媒体凭感觉和印象对"KNI"的 评价,Intel公司从未正式发布过关于MMX2的消息。而最终推出的SSE指令集也就是所谓胜出的"互联网SSE"指令集。SSE指令集包括了70条指令,其中包含提高3D图形运算效率的50条SIMD(单指令多数据技术)浮点运算指令、12条MMX 整数运算增强指令、8条优化内存中连续数据块传输指令。理论上这些指令对流行的图像处理、浮点运算、3D运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。S SE指令与3DNow!指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。SSE兼容MMX指令,它可以通过SIMD和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 微处理器运算器、寄存器与控制器的作用

    微处理器 微处理器(CPU)是计算机的核心部件,其中除了运算器和控制器外, 还包括用于暂存数据的寄存器和传输信息用的内部总线。图 1-8 为一个简化的 CPU 模型,CPU 需要通过三 总线(数据总线、地址总线和控制总...

    08-26
  • 存储器选片的常见误区

    存储器相当于我们的大脑的存储单元,能够保存我们的电子数据。为增进大家对存储器的认识,本文将对随机存取存储器、寄存器和存储器的区别予以介绍。如果你对存储器具有兴趣,不妨和小编一起来继续认真地往下阅读哦...

    08-26
  • 显示芯片的价格差异主要取决于什么因素?

    显示芯片(Display chip)是提供显示功能的芯片。显示芯片一般有两种:一种是主板板载的显示芯片,有显示芯片的主板不需要独立显卡,也是平时说的集成显卡;另一种是独立显卡的核心芯片,独立显卡通过插槽连接到主板上...

    07-18
  • 双通道内存技术的未来发展方向是什么?

    内存双通道,就是在北桥(又称之为MCH)芯片级里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。在这两个内存通CPU可分别寻址、读取数据,从而使内存的带宽增加一倍,数据存取速度...

    07-18
  • 芯片组在计算机中的作用是什么?

    芯片组(英语:Chipset)是一组共同工作的集成电路“芯片”,并作为一个产品销售。它负责将计算机的核心——微处理器和机器的其它部分相连接,是决定主板级别的重要部件。以往,芯片组由多颗芯片组成,慢慢的简化为两颗芯...

    07-18
  • 单片机控制系统搭建:详细步骤和注意事项

    单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示...

    07-18
  • 微处理器与传统中央处理器有何不同?

    模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个...

    07-18
  • 单片机寄存器:通用寄存器和特殊功能寄存器详解

    单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显...

    07-08
  • 图形协处理器如何提高系统显示速度?

    图形协处理器是专门设计用来加快高分辨视频图像的处理和显示速度的微处理器。含有图形协处理器的图形加速板可以加快图形用户界面的显示速度,通过将图形处理任务从CPU上转移到协处理器上,图形加速板可极大的提高系...

    06-27
  • 如何配置协处理器来提高系统性能?

    协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。协处理器,这是一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器。这种中央处理器无法执行的工作有很...

    06-27
  • 如何设计一个算术逻辑单元(ALU)?

    算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。现阶段是用电路来实现,应用在电脑芯片中。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重...

    06-27
下载排行榜
更多
评测报告
更多
广告