5.7 多处理器的基本概念

只考选择题

多处理器的基本概念

总结

补充知识:

  • 并发:间隔进行
  • 并行:同时进行

image-20260311221751706

image-20260311221717942

SISD单指令流单数据流

  • ==指令只能并发不能并行==
  • 提升方法是采用指令流水线【则主存储器需要用到多模块交叉存储器】
  • ==一直学的就是SISD==
  • ==一个ALU,一个主存==
  • 不是数据级别的并行技术,也不是线程级别的并行技术

image-20260311215445328

image-20260311213751678

SIMD单指令流多数据流

  • ==每一时刻只有一条指令在执行==

  • 但是==一条指令可以同时并行地处理多个不同的数据== ==(即同时做很多个相同的操作⭐)==

  • ==多个ALU,一个主存==

  • 数据级别的并行技术

image-20260311215506260

image-20260311215123326

MISD多指令流单数据流

  • ==现实中不存在==
  • ==多条指令并行执行,处理同一个数据==

image-20260311215517572

MIMD多指令多数据流⭐

  • ==多个ALU,一个共享主存==
  • 线程级别的并行技术

image-20260311215854746

第一类:多处理器系统
  • 共享主存
  • 共享最低级的cache(egL3)
  • ==== 多核处理器==

image-20260311215633726

第二类:多计算机系统
  • ==相当于多台计算机==
  • 通过网络进行消息传递

image-20260311220220743

向量处理器

  • ==基于SIMD思想(普通电脑)的高级运用==
  • ==指令当作向量运算,而不是当作矩阵来运算==(eg两个==n==维向量相乘只用算==1==次)
  • 主存储器支持多端口

image-20260311221618762

image-20260311221444747

硬件(CPU)多线程

  • ==单核通过流水线技术让指令执行看起来是重叠的==,这是一种**==近似并行==**的效果
  • 流水线阻塞的情况比如:cache缺失
  • (超线程有可能发生资源争夺:当同时访问共享存储的内容时。此时就得先后访问了)
image-20260311223654506 image-20260311224954079 image-20260311224908217

==4核8线程的CPU是怎么来的了:==

  • 不支持硬件多线程的处理器

    • 当前进行a线程,需要切换到b线程,要把此时a的通用寄存器和PC的信息存到主存,等到b线程处理完再用。

    • 保存和恢复的过程会浪费时间。

  • 支持硬件多线程的处理器

    • 两套(多套)PC和通用寄存器

    • 无需保存和恢复的这一步。

    • 可以明白4核8线程的CPU是怎么来的了