多处理器的基本概念

SISD 单指令流丹数据流

各指令序列只能并发,不能并行,每条指令处理一两个数据

不是数据级并行技术

硬件:由一个处理器和一个主存储器组成

若采用指令流水线,需要设置多个功能部件,采用多模块交叉存储

SIMD单指令流多数据流

各指令序列只能并发,不能并行,但是每条指令可同时处理多个具有相同特征的数据

是一种数据级并行技术

硬件:一个指令控制部件(CU)多个处理单元/执行单元(比如ALU)+多个局部存储器+一个主存储器

每个执行单元由各自的寄存器组,局部存储器,地址寄存器

不通执行单元执行同一条指令,处理不同数据

这个结构常用与古早的显卡

MISD多指令流单数据流

同一时间内多个指令并行执行,处理同一个数据,现实不存在这种计算机

MIMD多指令流多数据流

各指令序列可以并行执行,分别处理多个不同的数据

是一种线程级并行,甚至是线程级以上的并行技术

进一步分类还可以分为

多处理器系统

特点:多个处理器之间,可以通过load/store指令,访问同一个主存储器,可通过主存互相传输数据

硬件:一台计算机内,包含多个处理器和一个主存储器

多个处理器共享单一的物理地址空间

多计算机系统

各计算机之间,不能通过load/store指令直接访问对方的存储器,只能通过消息传递,互相传送数据

硬件:由多台计算机组成,有多个处理器+多个主存储器

每一台计算机拥有各自的私有存储器,物理地址相互独立(计算机网络)

向量处理机(SIMD变体)

一条指令的处理对象是“向量”

擅长对向量型数据并行计算,浮点数运算,常被用于超级计算机中,处理科学研究中巨大运算量

硬件:多个处理单元,多组向量存储器

主存储器应采用多个端口同时读取的交叉多模块存储器

主存储器大小限定了机器的解题规模,因此要有大容量的集中式主存储器

多处理器系统

多处理器系统也被叫做共享内存多处理器或者多核处理器

细粒度多线程 粗粒度多线程 同时多线程
指令发射 各个时钟周期轮流发射多个线程的指令 连续几个时钟周期,都发送同一个线程的指令序列,流水线阻塞时,切换到另一个线程 一个时钟周期内,同时发射多个线程的指令
线程切换频率 每个时钟周期切换一次线程 只有流水线阻塞时才切换一次线程
线程切换代价 高,需要重新载入流水线
并行性 指令级并行,线程间不并行 指令级并行,线程间不并行 指令级并行,线程间并行
posted @ 2025-09-23 15:00  是我,米老鼠  阅读(10)  评论(0)    收藏  举报