-
5.7多处理器的基本概念
-
5.7.1 SISD 、 SIMD 、 MIMD 的基本概念
- 基于指令流的数量和数据流的数量,对计算机体系结构分为 SISD 、 SIMD 、 MISD 和 MIMD 四类。常规的单处理器属于 SISD ,而常规的多处理器属于 MIMD 。
-
1.单指令流单数据流( SISD )结构
- SISD 是传统的串行计算机结构,这种计算机通常仅包含一个处理器和一个存储器,处理暑在一段时间内仅执行一条指令,按指令流规定的顺序串行执行指令流中的着干条指令。为了提高速度,有些 SISD 计算机采用流水线的力式,因此, SISD 处理器有时会设置多个功能部件,并采用多模块交叉方式组织存储器。本书前面介绍的内容多属于 SISD 结构。
-
2.单指令流多数据流( SIMD )结构
- SIMD 是指一个指令流同时对多个数据流进行处理,一般称为数据级并行技术。这种结构的计算机通常由一个指令控制部件,多个处理单元组成。每个处理单元虽然都执行的是同一条指令,但每个单元都有自己的地址寄存器,这样每个单元都有不同的数据地址,因此,不同处理单元执行的同一条指令所处理的数据是不同的。一个顺序应用程序编译后,可能按 SISD 组织井运行于串行硬件上,也可能技 SIMD 组织并运行于并行硬件上。
- SIMD 在使用 for 循环处理数组时最有效,比如,一条分别对16对数据进行运算的 SIMD 指令如果在16个 ALU 中同时运算,则仅需一次运算时间就能完成运算。 SIMD 在使用 case 或 switch 语句时效率最低。此时每个执行单元必须根据不同的数据执行不同的操作。
-
3,多指令流单数据流( MISD )结构
- MISD是指同时执行多条指令,处理同一个数据,实际上不存在这样的计算机。