第一章 手册简介
Intel的MMX™技术是对Intel体系结构(IA)指令集的扩展。该技术使用了单指令多数据技术(SIMD)技术,以并行方式处理多个数据元素,从而提高了多媒体和通讯软件的运行速度。MMX™指令集增加了57条新的操作码和一个新的64位四字数据类型。这种新的64位数据保持了可供MMX™指令操作的成组数据值,如下图(图1-1)所示。
图1-1 新的数据类型
另外,增加了八个新的64位MMX™寄存器,每个寄存器可按名称MM0-MM7直接访问。图1-2显示了这八个新的64位MMX™寄存器的布局。
图1-2 MMX™寄存器集
MMX™技术对操作系统完全透明,并且与现有的、基于Intel体系结构的软件百分之百兼容。所有应用软件可继续在具有MMX™技术的处理器上正常运行。
有关MMX™、数据类型和寄存器的其它信息和细节可详见《INTEL 体系结构 MMX™ 技术程序员参考手册》(Intel Architecture MMX™ Technology Developer's Manual)。
MMX™技术提高了很多应用程序的执行性能,例如活动图像、视频会议、二维图形和三维图形。几乎每一个具有重复性和顺序性整数计算的应用程序都可以从MMX™技术中受益。对于8位、16位和32位数据元素的处理,改善了程序的性能。一个MMX™指令可一次操作8个字节,且在一个时钟周期内完成两条指令,也就是说,可在一个时钟周期内处理16个数据元素。
另外,为增强性能,MMX™技术为其它功能释放了额外的处理器周期。以前需要其它硬件支持的应用程序,现在仅需软件就能运行。更小的处理器占用率给更高程度的并发技术提供了条件,在当今众多的操作系统中这些并发技术得到了利用。在基于Intel的分析系统中,某些功能的性能提高了50%到400%。这种数量级的性能扩展可以在新一代处理器中得到体现。在软件内核中,其速度得到更大的提高,其幅度为原有速度的三至五倍。
1.1 关于本手册
本手册面向那些熟悉Intel体系结构的软件模型和汇编语言编程的读者。
本手册描述了基于IA MMX™技术的软件编程的优化方案和使用策略。另外,它还包含了帮助你开始编写应用程序的编码技术和示例。
本手册分为六章和一个附录:
第一章——INTEL体系结构MMX™技术开发者手册介绍。
第二章——处理器体系结构和流水线简介。本章对奔腾处理器和动态(P6系列)处理器的体系结构和流水线进行了简要介绍。
第三章——MMX™代码开发原则。本章为帮助你开发出快速、高效的代码,提供了相关的原则和指导。另外,它还介绍了常规优化方法、指令调度和选择方案以及高速缓存和内存优化方法。
第四章——MMX™代码开发策略。本章回顾了在应用程序中创建MMX™例程的步骤。
第五章——MMX™的编码技术。本章的编码示例可以帮助你开始编写MMX™例程。
第六章——MMX™性能监测计数器。本章详细说明了性能监测计数器和它们的功能。
附录 A——MMX™指令集。附录汇总了全部MMX™指令。
1.2 参考文献
参阅下列文档可获得有关Intel体系结构和本手册所涉及的专用技术的更多的内容:
《INTEL体系结构MMX™技术程序员参考手册》
Intel Architecture MMX™ Technology Programmers Reference Manual, Intel Corporation, Order Number 243007.
《奔腾系列处理器开发者手册》
Pentium® Processor Family Developer's Manual: Volume 1, 2, and 3, Intel Corporation, Order Number 241428, 241429, and 241430.
《高能奔腾处理器开发者手册》
Pentium® Pro Processor Family Developer's Manual: Volume 1, 2, and 3, Order Number 242690, 242691, and 242692.
《INTEL的32位处理器优化方案》
Optimizations for Intel's 32-bit Processors, Application Note AP-526, Order Number 242816