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
  • STM32手册:串口流控制功能

    串口接收方CPU拿取数据的速度赶不上串口数据的通信速度时,会导致丢数据的现象。使用串口流控制功能可以解决以上问题

    11-22
  • 一个简单的例子,轻松搞懂CPU的工作原理

    本文我们将从软件工程师的角度去了解计算机是如何工作的,通过对计算机核心工作机制的学习,有利于理解我们平时编程时

    09-24
  • 数字信号处理中的FIR滤波器应用

    考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输...

    09-12
  • 数字信号处理的模数转换与数模转换详解

    数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模...

    09-12
  • CXL存储器扩充对DRAM市场的影响分析

    Oct. 11, 2022 ---- 据TrendForce集邦咨询最新服务器相关报告指出,CXL(Compute Express Link)原是希望能够整合各种xPU之间的性能,进而优化AI与HPC所需要的硬件成本,并突破原先的硬件限制。CXL的支援仍是以CPU为...

    09-12
  • 微处理器运算器、寄存器与控制器的作用

    微处理器 微处理器(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
下载排行榜
更多
评测报告
更多
广告