处理器就是处理一系列指令和数据的设备,因此,从指令和数据这2个维度,可以对处理器的系统结构分类。1966年,Flynn将处理器系统结构分成了如下4类:
Flynn分类
SISD(single instruction single data),一次处理一条指令,一条指令处理一份数据,早期的处理器都是这种形式。
SIMD(single instruction multiple data),一次处理一条指令,一条指令能处理多份数据,这种方式称为数据并行,现在性能稍微强一点的处理器都具备这种功能。
MISD(multiple instruction single data),一次处理多条指令,多条指令处理一份数据,这种结构没有实际意义。
MIMD(multiple instruction multiple data),一次处理多条指令,多条指令能处理多条数据,这种方式称为指令并行,高性能处理器都具备这个功能。
下图描述了指令并行性、数据并行性的示例:
SISD、SIMD、MIMD关系
并行,是提高处理器性能的不二法门,下面,我们就来详细介绍处理器的各种并行性。