首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SIMD、MMX、SSE、AVX、3D Now!、NEON

SIMD、MMX、SSE、AVX、3D Now!...在微处理器中,单指令流多数据流技术则是一个控制器控制多个平行的处理微元,例如Intel的MMX或SSE以及AMD的3D Now!技术。 MMX 由英特尔开发的一种SIMD多媒体指令集,共57条指令。...缺点:64位MMX寄存器实际上就是浮点数寄存器的别名,因此MMX指令占用浮点数寄存器进行计算,与浮点数操作互斥。MMX和浮点数模式切换需要时间,通过减少模式切换来节约时间。...现在新开发的程序不再仅使用MMX来优化软件执行效能,而是改使用如SSE、3DNOW!等更容易优化效能的新一代多媒体指令集,不过目前的处理器仍可以执行针对MMX优化的较早期软件。...而整数 SIMD 运算可能仍然要与 8 个 64 位 MMX 缓存器一起执行。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux内核13_1-进程切换是对FPU单元的处理_X86

    它们被称为MMX指令,用来支持多媒体应用的加速执行。MMX指令也是作用于FPU单元的浮点寄存器。...这样的设计缺点是,内核开发者无法混合使用转义浮点指令和MMX指令;优点是内核开发者可以使用相同的进程切换代码来保存浮点单元和MMX的状态。...这些寄存器是独立的,和FPU和MMX寄存器没有重叠,所以SSE扩展和FPU/MMX指令可以混合使用。奔腾4又又引入了新的扩展:SSE2扩展,是在SSE基础上的扩展,支持更高精度的浮点数。...从上面可以看出,只有执行浮点运算的时候才需要保存FPU、MMX和XMM相关寄存器。...5 在内核中使用FPU、MMX和SSE/SSE2单元 当然了,内核中也可以使用FPU、MMX或SSE/SSE2硬件单元(虽然,大部分时候没有意义)。

    71320

    x86 CPU与IA-32架构

    所添加的其他重要的指令还有 MMX和SSE(Streaming SIMD Extensions) 。两者都是为了支持并行处理多条数据的扩展指令。...例如用通常的IA-32指令进行加法运算时一次只能执行一次加法运算,但使用MMX和SSE的加法指令可以同时执行多个运算。...MMX寄存器 (MMX register) 是MMX指令用的寄存器。MMX Pentium以及Pentiunm Ⅱ之后的CPU中有从mm0到mm7共8个64位的寄存器。...但实际上MMX寄存器和浮点数寄存器是共用的,即无法同时使用浮点数寄存器和MMX寄存器。 XMM寄存器 (XMM register) 是SSE指令指令用的寄存器。...XMM寄存器和MMX寄存器不同,是独立的寄存器不和浮点数寄存器共用。另外 mxcsr寄存器 是表示SSE指令的运算状态的寄存器。

    9510

    上古遗民-英特尔® Galileo

    它比较像是改良了制程,但阉割了 MMX 指令集的奔腾 I 代处理器....从支持的指令集看,Quark 并不像其他 Atom 芯片那样支持 x64、MMX、SSE 等高级的指令集,但包含了浮点指令集(x87)。...虽然 Intel 的官方参数中提到 Quark 的指令集是与奔腾兼容的,但很明显,由于缺少了 MMX 指令这个作为奔腾处理器的重要标志,实际上很多可以在奔腾 I CPU上运行的程序在 Quark 上可能是不能运行的...这点算是一个遗憾,缺少 MMX、SSE 这类 SIMD 的指令集加速,使得 Quark 在处理多媒体、图像运算、计算机视觉等算法上可能会表现的较差。...因此现在的程序只要不带有 MMX、SSE 指令,理论上是可以在 Quark 上运行的很好的。在功耗方面,Quark 将 max TDP 控制在 2.2W。

    57520
    领券