5-6中央处理器-多处理器系统硬件多线程

news2024/11/28 19:40:05

文章目录

  • 一.多处理器系统
    • (一)计算机体系结构分类
      • 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

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

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/180086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逆水寒魔兽老兵服副本攻略及代码分析(英雄武林风云录,后续更新舞阳城、扬州、清明等副本攻略)

文章目录一、武林风云录1)老一:陈斩槐(只有四个机制,dps压力不大,留爆发打影子就行)(1)点名红色扇形区域(2)点名红色长条,注意最后还有一段大劈&a…

MongoDB入门(特点,使用场景,命令行操作,SpringData-MongoDB)

今天我们将通过这一篇博客来了解MongoDB的体系结构,命令行操作和在JAVA 当中使用SpringData-MongoDB 来 操作MongoDB。 如果没有安装的小伙伴 可以看一下 这篇文章 (59条消息) 开源的文档型数据库–MongoDB(安装)_一切总会归于平淡的博客-CS…

LeetCode[128]最长连续序列

难度:中等题目:给定一个未排序的整数数组 nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n)的算法解决此问题。示例 1:输入:nums [100,4,2…

java中new的含义如何理解?

在Java中,new关键字被使用来创建一个新的对象,可以理解为创建的意思。使用关键字new来创建一个对象也叫类的实例化,使用new创建对象时,会调用构造方法初始化对象声明对象Cat cat 在栈内存中实例化对象 new Cat(参数); 在堆内存中每…

C++:类的static成员,友元和构造函数初始化列表

目录 一.类的构造函数的初始化列表 1.类的构造函数初始化列表的引入和介绍 2.初始化列表用于类的类对象成员的拷贝构造函数的调用 3.初始化列表的使用细则 4.使用初始化列表的一个注意事项 二.explicit关键字 三.C类的static成员 1.类中static修饰的成员变量 2.类中st…

Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数

文章目录一、逻辑回归参数估计基本思路1. 构建损失函数2. 损失函数求解二、利用极大似然估计进行参数估计三、熵、相对熵与交叉熵1. 熵(entropy)的基本概念与计算公式2. 熵的基本性质3. 相对熵(relative entropy)与交叉熵&#xf…

LeetCode[947]移除最多的同行或同列石头

难度:中等题目:n块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。给你一个长度为 n的数组 stones,其中 stones[i] [xi, yi]…

MATLAB算法实战应用案例精讲-【人工智能】Grover量子搜索算法(补充篇)

前言 因为量子计算的并行性, 搜索问题, 比如说数据库搜索, 最短路径问题, 加密问题, 图形着色问题等, 都被视为可以做到量子加速. Grover 算法,有时也称为量子搜索算法(quantum search algorithm),指一种在量子计算机上运行的非结构化搜索算法,是量子计算的典型算法…

LeetCode[765]情侣牵手

难度:困难题目:n对情侣坐在连续排列的 2n个座位上,想要牵到对方的手。人和座位由一个整数数组 row表示,其中 row[i]是坐在第 i 个座位上的人的 ID。情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3)&…

#A. Balanced Lineup排队(rmq模板题)

题目思路建议先看看详解rmq问题很明显这道题意是跟你一段数列,并给出多次询问,询问区间内最大值和最小值的差。如果去暴力枚举显然会超时,所以要用st算法来解决。我们要建立两个RMQ预处理内容,分别处理最大值和最小值。建一个mx[i][j]代表从i开始,长度为…

精品图表Crack:TeeChart ActiveX version 2023.1

TeeChart ActiveX version 2023 数据可视化专家,Visual Studio.Net、Visual Basic、Visual Studio 6和 IIS / ASP的图表组件 概述 TeeChart Pro ActiveX 图表组件库提供数百种 2D 和 3D 图形样式、56 种数学和统计函数供您选择,以及无限数量的轴和 14 个工具箱组件…

DFS(五)最小轮盘锁

752. 打开转盘锁 你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 。每个拨轮可以自由旋转:例如把 9 变为 0,0 变为 9 。每次旋转都只能旋转一个拨轮的一位数字。 锁的初始数字为 0000 ,一…

【2023.01.26】定时执行专家 V6.6 兔年春节版 - 更新日志

目录 ◆ 最新版下载链接 ◆ 软件更新日志 – TimingExecutor Full Change Log ▼ 2023-01-23 V6.6 ▼ 2023-01-20 V6.5 ▼ 2022-12-25 V6.4 ▼ 2022-11-15 V6.3 ▼ 2022-10-01 V6.2 ▼ 2022-07-30 V6.1(Build 769.30072022) ▼ 2022-0…

Linux-Ubuntu入门到精通之远程操作指令

1️⃣shutdown 2️⃣查看或配置网卡信息 3️⃣网卡和IP地址 4️⃣ifconfig 5️⃣ping 6️⃣远程登录和复制文件 7️⃣ ssh 基础(重点) 8️⃣域名 和 端口号 9️⃣SSH 客户端的简单使用 1️⃣0️⃣Windows 下 SSH 客户端的安装 Putty :http:/…

数据结构 | 海量数据处理 | 位图和哈希切分的常见应用 | 布隆过滤器的使用场景

文章目录位图应用question 1question 2question 3位图的作用哈希切分布隆过滤器作为一种数据结构,哈希桶有着不同于其他数据结构的思想——直接映射,这使得在哈希结构中查找数据的效率达到了最快的O(1),比起搜索树的比较数据大小,…

数学建模——降维算法

降维 降维的意义 降低无效、错误数据对建模的影响,提高建模的准确性少量切具有代表性的数据将大幅缩减挖掘所需的时间降低存储数据的成本 需要降维的情况 维度灾难。很难有一个简洁的模型在高维空间中依旧具有鲁棒性,而随着模型复杂度的增加&#xf…

【LeetCode每日一题:1663. 具有给定数值的最小字符串~~~递归+DFS+贪心】

题目描述 小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。 字符串由若干小写字符组成,字符串的数值 为各字符的数值之和。例如…

你会仲裁吗——劳动仲裁需要准备

目录 劳动仲裁申请书 仲裁思路 ​编辑 一、仲裁前准备 1、自己不认可年终奖 2、自己不认可绩效 二、【仲裁前】协商阶段 1、主张3个月足额年终奖 2、公司协商离职赔偿方案 年终奖仲裁证据 延时加班费 周末加班费 节假日加班费 其他福利-如房补 申请劳动仲裁交通…

uniapp组件传参方式梳理

前言 日常开发中经常会遇到组件之间传递参数问题,整理了几种常见的传参方式,方便日后复习梳理. 常见组件传参的三种方式: 1.父组件向子组件传参 2.子组件向父组件传参 3.子组件向非父组件传参 1.父组件向子组件传参自定义组件: <template><view c…

XPath入门

好久没用XPath了&#xff08;之前没做笔记&#xff09;&#xff0c;最近要用的时候又到处查。。。&#xff08;痛苦.jpg&#xff09;&#xff0c;还是记录下吧&#xff08;π_π&#xff09; XPath&#xff0c;是XML Path Language的缩写&#xff0c; 是一门在 XML 文档中查找…