Flynn分类是一种计算机基础架构的分类方法,它将计算机系统中的指令流和数据流的形式进行分类。Flynn分类法是由美国计算机科学家Michael J. Flynn提出,他将计算机的指令流和数据流的形式分为四类。
四类是:
- SISD(Single Instruction Single Data):单指令单数据流;
- SIMD(Single Instruction Multiple Data):单指令多数据流;
- MISD(Multiple Instruction Single Data):多指令单数据流;
- MIMD(Multiple Instruction Multiple Data):多指令多数据流。
SISD
单指令单数据流是最简单的分类,也是最早的计算机系统的分类方法。每个指令和每个数据都是单独处理的,只有一个指令在一个时刻内执行,这种处理方式的计算机称为单处理器,这类计算机操作系统最多只能处理一个任务。
SIMD
单指令多数据流是在同一时间执行多个数据操作的方式。这种方式需要使用到向量处理器,如GPU(图形处理器),它们能够并行迭代执行相同的指令但作用于不同的数据,多个数据同时被计算得出结果。SIMD最常见的应用场景是图像处理和三维建模。
MISD
多指令单数据流同样使用向量处理器,但此时多个指令都作用于同一个数据元素。这种情况极少出现,真正使用得到的计算机系统非常罕见。
MIMD
多指令多数据流是真正的并行处理,其中多个指令能够同时处理多个数据元素。分布式计算机、并行处理集群、对等网络以及云计算都是采用MIMD的处理方式。通过MIMD,能够同时进行多个任务,并行的解决了大规模计算任务的问题。