计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)

文章目录

  • 总览
    • 先看这个
    • 再往下看
  • SISD
  • SIMD
  • MISD
  • MIMD
  • 向量处理器
  • 共享内存多处理器和多核处理器

总览

先看这个

计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第1张图片

再往下看

计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第2张图片

SISD

并发就是;先执行一下该指令序列,再执行一下另外一个指令序列
并行就是:两个指令序列同时进行
在某个时间段内只能处理一个进程或者一个线程的指令序列,各个进程或者线程的指令序列只能并发的执行,不能并行的执行
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第3张图片

单指令流是指同一时间段内只能处理一个时间序列
单数据流指的是每条指令只能处理一到两个数据
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第4张图片
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第5张图片

SIMD

由于此时每个ALU处理的地址不同,所以地址寄存器也不同
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第6张图片
相当于一条指令同时给多个ALU同时执行,相当于执行多次该条指令或者说控制信号给多个ALU,多个ALU执行相同的操作
在各自局部存储器,该局部存储器最后合起来就是总的要控制的那块存储区域
此时一条指令可以并行处理多个数据(同时处理多个数据)

对应到例子就是像素处理,每个ALU处理部分像素
或者对所有数组元素做相同的处理,每个ALU对应的局部存储为数组的某个元素,所以每个ALU处理数组的某个元素
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第7张图片

MISD

现实不存在,因为比较愚蠢的做法,此时的多条指令对数据的效果都是相同的。不可能说多条指令对数据的处理是不同的,或者说是指令序列,那么此时并行,依赖性全无。比如某个指令可能需要执行前一个指令执行的结果。但此时是同时执行原数据。显然不合理。
因此既然多条指令并行处理一个数据,效果也相同,为啥不一个执行就好了嘛
在这里插入图片描述

MIMD

有多个处理器,可以执行多个不同的指令序列,也可以执行多个相同的指令序列(此时就是并行处理多个数据流)

计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第8张图片
多处理器系统
多个处理器共享LLC,各个处理器还有更高级的Cache给自己用,
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第9张图片
多计算机系统
消息传递可以说网络传递
同时执行不同指令序列流,而且每台处理的数据流也是不一样的,因为可以给要处理的数据到不同存储器,此时给的数据可以不一样
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第10张图片
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第11张图片

向量处理器

计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第12张图片
此时一个向量寄存器存储一个n维的向量
当两个n维的向量相加时,向量处理器只需要一次add指令,因为向量寄存器存储的是向量,所以它的相加单位是n维向量
而当普通处理器处理时需要n次add指令,因为每次的相加单位是一个数据
所以可以认为向量寄存器是数据并行,或者同时一条指令对多个数据处理
多端口,支持同时读
计算机组成原理-多处理器系统的基本概念(SISD SIMD MISD MIMD)_第13张图片

共享内存多处理器和多核处理器

核就是 处理器
共享内存多处理器和多核处理器就是一个玩意
在这里插入图片描述

你可能感兴趣的:(王道计算机组成原理考研笔记,性能优化,计算机组成原理)