计组_多处理器的基本概念

news2024/9/21 16:40:43

2024.06.26:计算机组成原理多处理器的基本概念学习笔记

第21节 多处理器的基本概念

  • 1. 计算机体系结构
    • 1.1 SISD单指令流单数据流(前面几章一直在学习的内容)
    • 1.2 SIMD单指令流多数据流
      • 1.2.1 改进:向量处理器
    • 1.3 MISD多指令流单数据流
    • 1.4 MIMD多指令流多数据流
    • 1.5 总结(厨师、菜、助手、食谱)
  • 2. 硬件多线程
    • 2.1 细粒度多线程
    • 2.2 粗粒度多线程
    • 2.3 同时多线程
  • 3. 多核处理器
  • 4. 共享内存多处理器SMP(对称多处理器)
    • 4.1 统一存储访问多处理器UMA(对主存是共享的概念)
    • 4.2 非统一存储访问多处理器NUMA(主存划分给不同处理器)


多处理器也就是它可以并行操作这样的CPU,正常的CPU我们只能去处理一条指令完成一个操作,但是对于多处理器来说,它可以实现同时去执行多条指令或者处理多个数

1. 计算机体系结构

所有的处理器或者说所有的计算机体系都是这四种之内

1.1 SISD单指令流单数据流(前面几章一直在学习的内容)

  • 在任意时刻,计算机执行单一指令操作单一数据
  • 传统的桌面计算机在处理文本编辑或简单图形操作时通常采用SISD架构

在这里插入图片描述


1.2 SIMD单指令流多数据流

  • 一条指令同时操作多个数据,非常适合于执行重复的相同操作,如图像处理中的像素操作
  • 现代图形处理单元(GPU)在渲染3D图形时,会用SIMD处理成千上万个顶点和像素的相同操作

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


1.2.1 改进:向量处理器

向量处理器是一种实现了SIMD指令集的高性能计算机处理器,它可以同时处理一组数据(向量)上的同一操作,这样的处理器专为执行复杂数学运算而设计的

想象一个厨师(向量处理器)在一个非常大的厨房里(计算环境)里,有一个巨大的炒锅(向量寄存器),可以同时烹饪大量的食材(数据),这位厨师可以一次性把锅里的所有食材进行相同的烹饪步骤,比如同时翻炒所有的食材,而不是一个接一个翻炒。


1.3 MISD多指令流单数据流

  • 多条指令流同时操作同一数据
  • 难以实现,实际上不存在

在这里插入图片描述


1.4 MIMD多指令流多数据流

  • 多个处理器同时执行不同的指令序列,处理不同的数据
  • 大型服务器在处理多用户的不同请求时会使用MIMD,例如Web服务器或数据库服务器

在这里插入图片描述


1.5 总结(厨师、菜、助手、食谱)

在这里插入图片描述


2. 硬件多线程

线程是操作系统里引入的一个概念,在主存中去运行的某一个程序,我们这个单元会把它叫做进程,其实进程内部又可以分成一个一个的小线程,一个小线程里面是可以执行很多很多条指令的

在这里插入图片描述


2.1 细粒度多线程

  • 细粒度多线程允许处理器在每个时钟周期中轮换不同的线程,去执行不同的指令
  • 这种切换通常发生在一个线程执行指令时遇到长时间等待的情况下
    在这里插入图片描述

2.2 粗粒度多线程

在当前执行的线程被阻塞或完成之后才切换到另一个线程,切换的原因通常是等待I/O操作、长时间的计算或其他资源的延迟


2.3 同时多线程

允许多个线程在同一时间内在多核处理器并行执行,通过在处理器内部共享和复用资源(如算术逻辑单元和寄存器文件)实现


3. 多核处理器

  • 将多个处理单元集成到单个CPU中,每个处理单元称为一个
    在这里插入图片描述

4. 共享内存多处理器SMP(对称多处理器)

  • 两个或多个相同的处理器(CPU)共享主内存、I/O设备等资源,并具有相同的访问内存的能力
  • 处理器之间通过⾼速总线或其他数据连接方式相连,可以有效地协作处理任务
  • 在SMP系统中,所有处理器共享⼀个操作系统,可以运行在任何处理器上,并共同访问所有资源

4.1 统一存储访问多处理器UMA(对主存是共享的概念)

每个处理器对所有存储单元的访问时间大致相同

对于统一存储访问来说,它对待主存实际上是一个共享的概念,也就是每一个处理器,它可以访问这个主存里面的每一个存储单元,并且访问的时间都是一样的


4.2 非统一存储访问多处理器NUMA(主存划分给不同处理器)

主存被分割给不同的处理器,处理器访问自身附近的内存(本地内存),比访问与远程处理器的内存(远程内存)更快、更便宜


UMA的所有处理器共享同⼀内存空间因此每个处理器中的cache都是共享内存的副本,尤其需要注意个处理器中的cache一致性问题

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

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

相关文章

应用帕累托原则学习新的编程语言

在本文中,我将讨论如何应用帕累托原则快速学习一门新的编程语言,并在加深对编程语言的理解的同时开始解决实际问题。 什么是帕累托原则? 帕累托原则,又称 80/20 法则,指出对于许多结果而言,大约 80% 的后…

数据湖仓一体(一) 编译hudi

目录 一、大数据组件版本信息 二、数据湖仓架构 三、数据湖仓组件部署规划 四、编译hudi 一、大数据组件版本信息 hudi-0.14.1zookeeper-3.5.7seatunnel-2.3.4kafka_2.12-3.5.2hadoop-3.3.5mysql-5.7.28apache-hive-3.1.3spark-3.3.1flink-1.17.2apache-dolphinscheduler-3.1.9…

我的智能辅助大师-办公小浣熊

一、基本介绍 随着2022年ChatGPT为代表的AI工具对互联网领域进行第一次冲击后,作为一名对编程领域涉足不算特别深的一名程序员,对AI大模型的接触也真的不能算少了,这是时代的必然趋势。在此之前也曾接触过很多的AI工具,他们都能在…

跨境电商系统如何进行搭建

目前越来越多的商家,他们都在进行跨境电商建站,便于自己在网络上进行营销推广,跨境电商系统的搭建是至关重要的,商家应该先了解跨境电商的模式有哪些,这样才能对跨境电商系统有更好的搭建结果。 跨境电商模式 目前来…

1589. 【中山市第十二届义务教育段学生信息学邀请赛】象战(bishop)(Standard IO)

题目描述 国际象棋的棋盘可以表示为一个 8 行 8 列的格子图,其中每个格子都可以放一枚棋子。我们将第 1 行第 2 列的格子用 (1,2) 来表示,以此类推。 为了帮助妹妹认识国际象棋中的“象”这种棋子,Jimmy 可谓是煞费苦心——他首先教会妹妹&…

【Java】数据类型及类型转换

数据类型 Java语言的数据类型分为两大类: 基础数据类型引用数据类型 基础数据类型 基础数据类型包括以下8种: 类型名称关键字占用内存取值范围区间描述字节型byte1 字节-128~127-27~27-1短整型short2 字节-32768~32767-215~215-1整型int4 字节-2147…

算法学习笔记(8.3)-(0-1背包问题)

目录 最常见的0-1背包问题: 第一步:思考每轮的决策,定义状态,从而得到dp表 第二步:找出最优子结构,进而推导出状态转移方程 第三步:确定边界条件和状态转移顺序 方法一:暴力搜素…

经典元启发式算法的适用范围及基本思想

元启发式算法是针对优化问题设计的一类高级算法,它们具有广泛的适用性,可以解决不同类型的问题。不同的元启发式算法由于其特定的搜索机制和策略,适用的优化问题类型也有所不同。以下是一些常见元启发式算法及其适用范围: 1. 遗传…

OrangePi AIpro 浅上手及搭建卡通图像生成多元化AI服务

前言 很高兴,收到了一份新款 OrangePi AIpro 开发板,这是香橙派第一次与华为昇腾合作,使用昇腾系列 AI 处理器来设计这款高性价比的 AI 开发板。这块开发板不仅性能强大,还支持丰富的硬件接口,为AI开发者提供了一个理…

Nginx的访问限制与访问控制

访问限制 访问限制是一种防止恶意访问的常用手段,可以指定同一IP地址在固定时间内的访问次数,或者指定同一IP地址在固定时间内建立连接的次数,若超过网站指定的次数访问将不成功。 请求频率限制配置 请求频率限制是限制客户端固定时间内发…

代码随想录第十二天|226.翻转二叉树、 101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

文章目录 226.翻转二叉树思路解法一、前序遍历递归解法二、深度优先搜索--迭代 101.对称二叉树思路解法一、递归解法二、迭代 104.二叉树的最大深度解法一、深度优先搜索--递归解法二、广度优先搜索--迭代 111.二叉树的最小深度解法一、深度优先搜索--递归解法二、广度优先搜索…

制作显卡版docker并配置TensorTR环境

感谢阅读 相关概念docker准备下载一个自己电脑cuda匹配的docker镜像拉取以及启动镜像安装cudaTensorRT部署教程 相关概念 TensorRT是可以在NVIDIA各种GPU硬件平台下运行的一个模型推理框架,支持C和Python推理。即我们利用Pytorch,Tensorflow或者其它框架…

2、matlab打开显示保存点云文件(.ply/.pcd)以及经典点云模型数据

1、点云数据简介 点云数据是三维空间中由大量二维点坐标组成的数据集合。每个点代表空间中的一个坐标点,可以包含有关该点的颜色、法向量、强度值等额外信息。点云数据可以通过激光扫描、结构光扫描、摄像机捕捉等方式获取,广泛应用于计算机视觉、机器人…

常用控件(六)

布局管理器 布局管理器垂直布局QHBoxLayoutQGridLayoutQFormLayoutQSpacerItem 布局管理器 之前使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的. 也就是每个控件所在的位置, 都需要计算坐标, 最终通过 setGeometry 或者 move ⽅式摆放过去.这种设定⽅式其…

JAVA NIO组件之Buffer详解

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

标签-镜像拉取策略-重启策略-pod优雅终止-pod中容器资源限制-容器类型-容器守护进程-日志排错-容器命令exec-cp

一.标签 1.概述&#xff1a; 标签是附加到kubernets对象&#xff08;比如pod&#xff09;上的键值对&#xff0c;标签可以在创建时附加到对象&#xff0c;随后也可以随时添加修改&#xff1b;标签不支持唯一性。 在k8s中大多数资源都是通过标签进行关联的&#xff08;如pod与s…

管理Linux本地用户和组

什么是用户 用户账户在可以运行命令的不同人员和程序之间提供安全界限。 在Linux系统中&#xff0c;系统通过分配唯一的标识号&#xff08;用户ID或UID&#xff09;来区分不同的用户帐户。 在Linux系统中&#xff0c;用户帐户有以下三种主要类型&#xff1a; 超级用户 负责…

跨平台APP开发工具的选择

跨平台APP开发工具允许开发者编写一次代码,然后在多个平台上运行,如iOS、Android等,这极大地提高了开发效率并降低了维护成本。下面是一些流行的跨平台APP开发工具及其特点: React Native 开发公司:Facebook编程语言:JavaScript特点: 使用React的组件模型构建原生应用。…

无损音乐播放器推荐:Audirvana for Mac 中文激活版

udirvana 是一款高品质的音乐播放软件&#xff0c;专为Mac操作系统设计。它被设计来提供音频播放的最高标准&#xff0c;支持多种音频格式&#xff0c;包括高达32位/192kHz的高分辨率音频。Audirvana Plus 是其高级版本&#xff0c;提供了更多的功能和优化&#xff0c;例如音频…

stm32h743 NetXduo 实现http server CubeIDE+CubeMX

在这边要设置mpu的大小,要用到http server,mpu得设置的大一些 我是这么设置的,做一个参考 同样,在FLASH.ld里面也要对应修改,SECTIONS里增加.tcp_sec和 .nx_data两个区,我们用ram_d2区域去做网络,这个就是对应每个数据在d2区域的起点。 在CubeMX里,需要用到filex、dhc…