0. 指令集
指令集是存储在 CPU 内部,对 CPU 运算进行指导和优化的硬程序。拥有这些指令集,CPU 就可以更高效地运行。
- Intel:x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2,AVX。
- Core:酷睿;
- Xeon:至强,主要供服务器使用;
- AMD:x86,x86-64,3D-Now!指令集。
1. SISD、SIMD、MISD、MIMD
SISD:Single Instruction Data Stream,单指令单数据流,
-
SIMD:Single Instruction Multiple Data,单指令多数据流,
能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件(EU,execution unit)先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在 SIMD 型的 CPU 中,指令译码后几个执行部件同时访问内存(自然存在多数据流),一次性获得所有操作数进行运算。这个特点使 SIMD 特别适合于多媒体应用等数据密集型运算。
如:AMD 公司引以为豪的 3D NOW! 技术实质就是SIMD,这使K6-2、雷鸟、毒龙处理器在音频解码、视频回放、3D游戏等应用中显示出优异的性能。
2. CPU 的分类
- SIMD:
- SSE2:Streaming SIMD Extensions 2
- NEON:Neon是适用于ARM Cortex-A系列处理器的一种128位SIMD(Single Instruction, Multiple Data,单指令、多数据)扩展结构。