最近小编对在玩CPU的时候对指令集有所认识,也许有的朋友谈到指令集的时候一脸的茫然,最初在我学习的时候也非常的头痛,不过经过一段时间的资料的翻阅,对这个指令集有所了解了。
首先:指令集是存储在我们电脑CPU当中的,对CPU的加减运算起着指导和优化的作用。CPU拥有指令集的话能够提高CPU的运行效率。
![4fabe97b432f5a1132419f7ac531d093.png](https://i-blog.csdnimg.cn/blog_migrate/b1046930835c677984c7f9c98af0a14a.jpeg)
1.X86指令集
基于8086编制的指令代码集,指令的条数为106条。
2.MMX指令集
MMX(Multi Media Extensions)全称为多媒体扩展,在推出Pentium MMx CPU的同时推出该指令集。MMX在X86指令集基础上增加57条多媒体指令,并采用新的数据类型。利用多媒体和通信算法固有的并行计算能力,加快多媒体和通信应用的运行速度,可以增强浮点和多媒体运算的速度。MMX主要用于增强CPU对多媒体信息的处理能力,提高CPU处理3D图形、视频和音频信息的能力。
3.3D NOW!指令集
3D NOW!(3D NO WAITING)指令集是AMD公司推出的多媒体扩展指令集,它在X86指令集的基础上增加了21条多媒体指令,用以增强浮点和多媒体运算的速度。3D NOW!是一种3D加速指令集,采用SIMD数据处理方式,加速对象是CPU浮点运算,在一个时钟周期内可以同时处理4个浮点运算指令或MMX指令。
3D NOW!指令集与Intel公司的MMX技术侧重于整数运算有所不同,主要针对三维建模、坐标变换和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D处理性能。后来AMD在Athlon上开发了Enhanced 3D NOW!,即扩展3D NOW!技术,将指令条数增加至52条。这些标准的SIMD指令和Intel的SSE具有相同效能,在针对SSE的设计中能获得更好的效能。
4.SSE指令集
SSE(Streaming SIDM Extensions)全称为单指令多数据流扩展,是由Intel公司在1999年推出Pentium 3的同时推出的新型指令集。SES对MMX指令进行扩展和改进,在MMX基础上扩展了70条指令,加强了3D网页处理和其他音、像信息技术处理的能力。SSE是一种SIMD指令集,它涵括了原MMX和3D NOW!指令集中的所有功能,而且特别加强了SIMD浮点处理能力。
SIMD是指String Instrution,Multiple Data,也就是一条指令同时对多个数据进行相同的操作。SSE本质上包括单精度浮点运算、整数运算、Cache控制和状态控制四种不同类型的指令。
5.SSE2指令集
在推出Net Burst为体系结构时新增114条SSE指令构成SSE 2指令集。SSE 2提供了新的128位多媒体指令,包括128bit SIMD整数算术运算及双精度浮点运算,能更好的支持DVD播放、音频、3D图形数据处理和网络流数据处理等。
SSE 2由SSE部分和MMX部分组成。前者负责浮点数运算处理,后者负责整数运算。SSE 2寄存器容量是MMX的两倍,在指令处理速度不变的情况下,通过SSE 2优化后的应用软件运行速度也将提高两倍。由于SSE2指令集与MMX兼容,因此被MMX优化过的程序很容易被SSE 2再次深层次的优化。Athlon Xp处理器不支持SSE 2指令集,与同频率的Petinum 4相比,对一幅精细图片进行测试处理时,同频率的Pentium 4处理速度不及Athlon Xp,但经过SSE 2优化之后,Pentium 4处理要快得多。现在大多数程序都针对MMX进行了优化,如果将这些程序在进行一次SSE 2的优化,则优化的程度更加彻底。
6.SSE 3指令集
Intel公司在推出Prescott核心CPU时对SSE 2进行扩展,退出SSE 3指令集。该指令集新增13条指令,主要用于3D图形处理、复数操作、协处理器堆栈转换、视频压缩以及HT技术的支持,追加的指令使整个指令集显得更加完善。
希望小编给大家分享的CPU中的X86指令集、MMX指令集、3D NOW!指令集、SSE指令集、SSE2指令集、SSE 3指令集的这六大指令集能够对大家有所帮助。如果您对这块还有什么补充的话,请给我留言!一起学习一起进步一起成长!