文章目录

  • 一.多处理器系统
    • (一)计算机体系结构分类
      • 1.单指令单数据流SISD
      • 2.单指令多数据流SIMD
      • 3.多指令单数据流MISD
      • 4.多指令多数据流MIMD
      • (1)(共享内存)多处理器系统/多核处理器
      • (2)多计算机系统
    • (二)向量处理机
  • 二.硬件多线程
    • 1.细粒度多线程
    • 2.粗粒度多线程
    • 3.同时多线程SMT

一.多处理器系统

(一)计算机体系结构分类

基于指令流的数量和数据流的数量,将计算机体系结构分为SISD、SIMD、MISD和MIMD四类。常规的单处理器属于SISD,而常规的多处理器属于MIMD。

1.单指令单数据流SISD

Single instruction, Single data
SISD是传统的串行计算机结构,这种计算机通常仅包含一个处理器和一个存储器,处理器在一段时间内仅执行一条指令,按指令流规定的顺序串行执行指令流中的若干条指令。为了提高速度,有些SISD计算机采用流水线的方式,因此,SISD处理器有时会设置多个功能部件,并采用多模块交叉方式组织存储器。

各指令序列只能并发,不能并行,每条指令只能处理一两个数据,不支持数据级并行技术。

SISD由一个处理器和一个主存储器组成

2.单指令多数据流SIMD

Single Instruction Multiple Data
SIMD是指一个指令流同时对多个数据流进行处理,一般称为数据级并行技术。这种结构的计算机通常由一个指令控制部件、多个处理单元组成。每个处理单元虽然都执行的是同一条指令,但每个单元都有自己的地址寄存器,这样每个单元都有不同的数据地址,因此,不同处理单元执行的同一条指令所处理的数据是不同的。一个顺序应用程序编译后,可能按SISD组织并运行于串行硬件上,也可能按SIMD组织并运行于并行硬件上。

适合对结构类似的大量数据进行相同的处理
如:将数据分块,将每块数据放入各个局部存储器处理,每个处理方式是相同的,CU只需发出相同的控制信号,使各个执行部件处理即可,通过并行的处理提高了效率。

SIMD在使用for循环处理数组时最有效。比如,一条分别对16对数据进行运算的SIMD指令,如果在16个ALU中同时运算,则仅需一次运算时间就能完成运算。SIMD在使用case或switch语句时效率最低,此时每个执行单元必须根据不同的数据执行不同的操作。

特点:各指令序列只能并发、不能并行,但每条指令可同时处理很多个具有相同特征的数据,是一种数据级并行技术。

硬件组成需要包含:一个指令控制器CU、多个处理单元/执行单元(如ALU)、多个局部存储器、一个主存储器。每个执行单元有各自的寄存器组、局部存储器、地址寄存器;不同执行单元执行同一条指令,处理不同的数据

3.多指令单数据流MISD

Multiple Instruction Single Data
MISD是指同时执行多条指令,处理同一个数据,实际上不存在这样的计算机。只是作为理论模型出现,没有投入到实际应用之中。

4.多指令多数据流MIMD

Multiple Instruction Multiple Data
MIMD是用于实现并行性的技术。在任何时钟周期内,不同的处理器可以在不同的数据片段上执行不同的指令(同时执行多个指令流),而这些指令流分别对不同数据流进行操作。

特点:各指令序列并行执行,分别处理多个不同的数据。是一种线程/进程级并行(线程级并行:每个核可以运行各自的线程,多个线程可以并行执行)

分类:

(1)(共享内存)多处理器系统/多核处理器

各处理器之间,可以通过LOAD/STORE指令,访问同一个主存储器,可通过主存相互传送数据。即多个处理器共享一个主存储器

共享内存多处理器的另一种命名方式为“多核处理器”,一个CPU芯片中包含多个处理器,即多个核。因此通常也称为片级多处理器CMP(一块芯片上集成了多个处理器)。所有核共享一个LLC(最低一级的Cache),并共享主存储器

硬件组成:多个处理器、一个主存储器。多个处理器共享单一物理地址空间

(2)多计算机系统

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

硬件组成:多个计算机,即多个处理器+多个主存器。每台计算机拥有各自的私有存储器,物理地址空间相互独立。

(二)向量处理机

一条指令的处理对象是向量。擅长对向量型数据并行计算、浮点数运算,常被用于超级计算机中,处理科学研究中巨大运算量

硬件组成:多个处理单元、多组“向量寄存器”。主存储器应采用“多个端囗同时读取”的交叉多模块存储器。主存储器大小限定了机器的解题规模,因此要有大容量的、集中式的主存储器

二.硬件多线程

不支持多线程的处理器,同一时间段内,只能处理一个线程相关的代码。若有两个线程的代码需要运行,可以先将A通用寄存器和PC的值存入主存,再切换到B

支持硬件多线程的处理器。线程A放左边的寄存器组,线程B放右边的寄存器组,这样就不需要保存至主存

1.细粒度多线程

在第一个时钟周期内,将线程A的两条指令放入IR,两条指令并行运行。第二个时钟周期完成线程B的两条指令。即轮流发射各线程的指令(每个时钟周期切换一个线程)。指令级并行,线程间不并行。切换代价低。

2.粗粒度多线程

连续几个时钟周期,都发射同一线程的指令序列。流水线阻塞时,才切换另一个线程。因为需要重载流水线,所以切换代价高。同样,指令级并行,线程间不并行

3.同时多线程SMT

一个时钟周期内,同时发射多个线程的指令。指令级并行,线程级并行


总结

5-6中央处理器-多处理器系统硬件多线程相关推荐

  1. 计算机组成原理要点|计算机系统概述|数的表示|存储系统|指令系统|中央处理器|总线系统|外围设备|IO系统

    计组要点 文章目录 计组要点 第一章 1.性能指标 2.硬件组成元素 3.系统程序 4.层次结构 第二章 1.定点数 2.原反补移码 3.IEEE32位浮点格式 4.汉字编码 5.定点加减法 5.浮点 ...

  2. 五、中央处理器(六)多处理器的基本概念

    目录 一.SISD.SIMD.MIMD.向量处理器的基本概念 1.1单指令流单数据流(SISD)结构 1.2单指令流多数据流(SIMD)结构 1.3多指令流单数据流(MISD)结构 1.4多指令流多数 ...

  3. Intel系统编程指南第八章——8.4 多处理器(MP)初始化

    IA-32架构(开始于P6家族处理器)定义了一个多处理器(MP)初始化协议,称为多处理器规范版本1.4.该规范定义了IA-32处理器在多处理器系统中所使用的引导协议.(这里,多处理器被定义为两个或更多 ...

  4. 计算机组成原理笔记(王道考研) 第五章:中央处理器

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

  5. 操作系统中的处理机调度调度_操作系统中的多处理器调度

    操作系统中的处理机调度调度 多处理器操作系统 (Multiprocessor Operating system) A multiprocessor system consists of several ...

  6. 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表

    欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 A ASIC(专用集成电路) Application-Specific Integrated C ...

  7. 分布式系统:数据库、操作系统、集群、协调、接口、多处理器、共享、I/O

    Table of Contents 分布式系统简介 分布式系统的类型 客户端/服务器系统 点对点系统 分布式系统的优势 分布式系统的缺点 单处理器系统 单处理器和多处理器系统之间的差异 分布式数据库 ...

  8. 嵌入式系统词汇速查表,不会时候拿出来看看!(精品收藏)

    A ASIC(专用集成电路) Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chi ...

  9. 超全!嵌入式系统词汇速查表

    ASIC(专用集成电路) Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chip. ...

最新文章

  1. Hadoop Writable机制
  2. AWS re:Invent 2019 召开 | 云原生生态周报 Vol. 30
  3. 180326新闻:创客授牌仪式新闻稿
  4. 熵权法excel计算过程_翅片式蒸发器如何最简单的进行计算和仿真?
  5. jquery模糊查询
  6. jenv java_mac 上使用jenv 管理的多个java 版本
  7. 关于代码反射能力的哲学思考
  8. Angular07 利用angular打造管理系统页面
  9. jdeveloper12.1.3的安装与卸载
  10. 配置隐藏计算机磁盘,这2种隐藏硬盘的方法 你绝对想不到!
  11. 客户端安装SP3补丁包失败
  12. 【电脑小白】提高ppt矢量图导出分辨率
  13. 关于严蔚敏老师《数据结构(C语言版)》书中代码的误解
  14. 关于Entity FrameWork获取插入后的自增ID
  15. 远期外汇交易的交割日
  16. 电子电气架构加速升级,如何实现域控制器快速部署?
  17. 将 MATLAB 搬到虚拟机
  18. Ubuntu 安装make
  19. 关于虚拟机可以ping通主机,主机ping不通虚拟机的问题
  20. 八、十六进制数转换到十进制数

热门文章

  1. 计算机网络—IP地址与子网划分
  2. dmesg 命令详解
  3. 计算机专业英语时间跨度,这是我见过的最变态的英语考试,没有之一
  4. AWS KVS(Kinesis Video Streams)之WebRTC移植编译(四)
  5. 贝塞尔曲线能够很好的拟合车道线吗?
  6. C++语言程序设计第五版 - 郑莉(第四章课后习题)
  7. C语言错误信息报告函数strerror、perror的使用
  8. 车载网络技术详解 —— 车载网络系统基础(✨您绝不可错过的呕心力作✨)
  9. js日期字符串(年月日)与时间戳的转换
  10. 图像的高频信息和低频信息的含义