PC_多处理器

news2024/10/7 8:28:50

文章目录

    • 多处理器
    • 单指令单数据流SISD结构
    • 单指令流多数据流SIMD结构
      • 向量处理器
    • 多指令流单数据流MISD结构
    • 多指令多数据流MIMD结构
      • 小结
    • 硬件多线程
      • 细粒度多线程
      • 粗粒度多线程
      • 同时多线程
    • 多核处理器
    • 共享内存多处理器

多处理器

  • 常规的单处理器属于SISD
  • 常规多处理器属于MIMD

单指令单数据流SISD结构

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

单指令流多数据流SIMD结构

  • singleInstructionMultipleData

    • Single instruction, multiple data - Wikipedia
    • 在这里插入图片描述
  • SIMD是指,一个指令流同时对多个数据流进行处理,一般称为**数据级并行技术**

  • 这种结构的计算机通常有

    • 一个指令控制部件
    • 多个处理单元
  • 每个处理单元执行的是同一条指令

  • 但是每个单元都有自己的地址寄存器,(每个单元都有不同的数据地址)

  • 也就是,不同的处理单元执行的同一条指令所处理的数据是不同的

  • 一个顺序应用程序被编译后

    • 可能按照SISD组织,运行在串行硬件
    • 也可能按SIMD组织,运行在并行硬件
  • SIMD对于for循环处理最为有效

    • 比如执行整形数组((16个元素)的各个元素倍乘运算,那么如果有16个ALU,那么可以在只需要计算一次的时间就可以完成16个元素的计算
    • 如果是串行计算,则需要耗费16次计算的时间(16倍)
  • SIMD对于switch-case语句效率低

    • 妹纸执行单元必须根据不同的数据执行不同的操作

向量处理器

  • 向量处理器(VPU:Vector Processor)
    • 是SIMD的变体,是一种实现了直接操作 一维数组(一维向量) 指令集的cpu
      • 串行处理器则只能够处理单一数据集
    • 把从存储器中收集的一组数据按照顺序放到一组向量寄存器中,然后以流水化的方式对它们依次操作
      • 最后将结果协会寄存器
    • VPU在特定工作环境中极大提升性能(比如数值模拟)

多指令流单数据流MISD结构

  • multipleInstructionInstructionData
  • 同时执行多条指令处理同一个数据
  • 不存在这类计算机

多指令多数据流MIMD结构

  • multpleInstructionMultipleData
  • 同时执行多条指令分别处理多个不同数据
  • MIMD分为多计算机系统和多处理器系统
  • 多计算机系统每个计算机结点都具有各自的存储器
    • 并且具有独立的主存空间地址
    • 不能够通过存取指令来访问不同结点的私有存储器
    • 而要通过消息传递进行数据传送(称为消息传递MIMD)
  • 多处理器系统是共享存储器多处理器(SMP)
    • 对称多处理(Symmetrical Multi-Processing);
    • 对称多处理器(Symmetric Multi-Processor)
    • 它具有共享的单一地址空间
    • 通过存取指令来访问系统中的所有存储器;也称为共享存储MIMD

小结

  • SIMD和MIMD是两种并行计算机模式
  • SIMD是一种数据级的并行模式
  • MIMD是并行程度更高的线程级或以上的并行计算模式

硬件多线程

  • 线程切换包含一些列开销
  • 为了减少线程切换中的开销,发展除了硬件多线程
  • 支持硬件多线程的cpu必须为每个线程提供单独的
    • 通用寄存器组GPRs
    • 程序计数器PC
  • 线程切换只需要激活选中的寄存器,省略了与存储器数据交换的环节,减少了线程切换的开销

细粒度多线程

  • 多个线程之间轮流交叉执行
  • 多个线程之间的指令是不相关的
  • 可以乱序并行执行
  • 处理器可以在每个时钟周期切换线程

粗粒度多线程

  • 仅在一个线程出现(较大开销的)阻塞时,才切换进程
    • 比如CacheMissing
  • 当指令流水发生阻塞时,必须清除被阻塞的指令流水线
    • 新线程的指令开始执行前需要重载流水线
    • 因此,开销较大

同时多线程

  • 同时多线程(SMT)
    • Simultaneous MultiThreading,SMT
  • 在实现指令级并行的同时,还实现线程级并行
  • 在同一个时钟周期内,发射多个不同线程中的多条指令执行
  • 例如:Intel处理器中的超线程(HyperThreading)
    • 在一个处理器(或者单个核心)中设置了两套线程状态部件,共享告诉缓存和功能部件

多核处理器

  • 将多个处理单元继承到单个cpu中
    • 每个处理单元称为核(core)
  • 所有的核可能是对称的,也可能是大小核
  • 多个核,可以共享cache,也可以由独立的cache
  • 但是都共享主存储器
  • 必须采用多线程(多进程)方式执行,才能发挥多核的最大性能
    • 同一个时每个核都有线程在运行
  • 多核处理器可以实现真正物理意义上的并行执行
    • 同一个时刻可能有多个线程同时执行
  • 单核处理器只能够交错执行多线程/进程
    • 同一时刻只要一个线程在执行,其他一个线程别暂停执行

共享内存多处理器

  • 共享单一物理地址空间的多处理器被称为:共享内存多处理器(SMP)

  • 虽然所有处理器都能够通过存取指令访问任何存储器的位置(共享物理地址空间)

    • SMP通过存储器中的共享变量进行通信
    • 但是多处理器仍然可以在自己的虚拟地址空间中单独运行程序
  • SMP

    • UMA
      • 同一存储访问多处理器
      • 内存控制器在cpu外部
      • 每个处理器对所有存储单元的访问时间大致相同
      • 访问时间与处理器提出访问请求和访问的存储字无关
    • NUMA
      • 非同一存储访问多处理器
      • 主存被分割并分配个了同一个机器的不同处理器或者内存控制器
      • 进一步分为:
        • NC-NUMA
          • 处理器中不带有cache
        • CC-NUMA
          • 处理器中带有cache
      • NUMA是UMA的发展
        • 内存控制器被集成到了cpu内部
        • 解决多cpu对前端总线的争用导致的性能瓶颈
      • 内地内存
        • 每个cpu都有独立的内存控制器
        • 每个CPU都独立链接到一部分内存,这部分内存称为本地内存
      • 远程内存
        • 非本地内存称为远程内存
        • 访问速度慢于本地内存
      • cpu之间则通过QPI总线向量

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

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

相关文章

腾格尔十月天传媒联手《巴林塔娜》,2255万粉丝多少买票支持

曾几何时,木桶原理非常流行,意思就是一个木桶能够盛多少水,取决于最短一块板的长度。可是随着社会的发展,木桶原理已经被淘汰,只要你拥有了团队合作,就可以统协作取长补短。 就拿有着“草原歌神”之称的腾格…

你的知识库能提高工作效率的7个原因

知识就是力量。但到目前为止,光有知识是不够的——你使用这些信息的方式让你领先于竞争对手。如果使用正确,知识库软件可以帮助您提供更好的服务,培训您的员工,并成为您的行业权威。拥有一个有效的知识库不仅会影响你在内部开展业…

Android assets

1.应用程序资源管理器assets assets就是apk工程中的一个普通目录,在每个工程的根目录下都可以发现(或者可以自己创建)一个assets目录。 assets目录用于专门保存各种外部文件,比如图像、音视频、配置文件、字体、自带数据库等。它之所以适合用来管理这些…

数据库mysql操作语言, DDL,DML,DQL

文章目录一. 数据库1. 数据库基本概念2. 数据库管理系统3. 数据库与表的概念二. 连接数据库的方式三. 如何操作DBMSSQL语句分类1. DDL 数据定义语言查看DBMS中已有的数据库数据库相关操作新建一个数据库查看数据库信息删除数据库使用一个数据库(切换一个数据库)表相关操作创建表…

HOOPS/MVO技术概述

更多参见:HOOPS学习笔记 MVO 1.引言 HOOPS/MVO是一个C类库,位于HOOPS 3D图形系统(HOOPS/3DGS)之上。它有一个模型/视图/操作员架构,封装了各种HOOPS/3DGS数据结构和概念,并提供了一系列通用应用程序级逻辑…

【无人机】基于粒子群优化干扰受限下无人机群辅助网络附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Xception --tensorflow2.x

简介 Xception和SqueezeNet一样,是一种降低参数量的轻量级神经网络,它主要使用了 深度分离卷积(Depthwise separable convolution)结构,该结构替换了原来的Inception中的多尺寸卷积结构。这里需要弄清深度分离卷积(D…

【创建型设计模式-单例模式】一文搞懂单例模式的使用场景及代码实现的7种方式

1.什么是单例模式 在了解单例模式前,我们先来看一下它的定义: 确保一个类只有一个实例,而且自行实例化并且自行向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法, 单例模式是一种对象的创建型…

微型计算机原理速通期末复习

文章目录微机基础原码、反码、补码、移码溢出实数型功能结构8086/8088内部结构80286内部结构80386/80486内部结构标志寄存器FLAGS寄存器阵列段寄存器寻址标志寄存器EFLAGS分段结构数据寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址-变址寻址基址-变址-相…

Solidity vs. Vyper:不同的智能合约语言的优缺点

本文探讨以下问题:哪种智能合约语言更有优势,Solidity 还是 Vyper?最近,关于哪种是“最好的”智能合约语言存在很多争论,当然了,每一种语言都有它的支持者。 这篇文章是为了回答这场辩论最根本的问题&…

磨金石教育摄影技能干货分享|中国风摄影大师——郎静山

说到中国风摄影,你想到的画面是什么样子的?故宫、长城、苏州园林、大红灯笼高高挂,反正离不开传承了千八百年的古建筑。仿佛没有了这些历史古董的元素就没有中国味道似的。 其实中国风,其内核应该是传统的审美观念和哲学思想。中…

【雷丰阳-谷粒商城 】课程概述

持续学习&持续更新中… 学习态度:守破离 【雷丰阳-谷粒商城 】课程概述该电商项目与其它项目的区别项目简介项目背景电商模式谷粒商城项目技术&特色项目前置要求谷粒商城-微服务架构图谷粒商城-微服务划分图参考该电商项目与其它项目的区别 互联网大型项目…

深入linux内核架构--内存管理

【推荐阅读】 代码大佬的【Linux内核开发笔记】分享,前人栽树后人乘凉! 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 路由选择协议——RIP协议 深入理解Intel CPU体系结构【值得收藏!】 内存体系结构 1. UM…

银行测试人员谈测试需求

今天呢,想用故事说话,先看看啥叫用户需求挖掘。其实看完故事之后,我自己颇为震撼,请看。 故事一: 100多年前,福特公司的创始人亨利福特先生到处跑去问客户:“您需要一个什么样的更好的交通工具…

loganalyzer 展示数据库中的日志

1 实验目标: 利用rsyslog日志服务,将收集的日志记录于MySQL中,通过loganalyzer 展示数据库中的日志 2 环境准备 三台主机: 一台日志服务器,利用上一个案例实现,IP:192.168.100.100一台数据库…

【Java八股文总结】之数据结构

文章目录数据结构一、概念1、时间复杂度与空间复杂度2、常见算法时间复杂度3、Comparable二、常见的排序算法1、直接插入排序2、希尔排序3、选择排序4、堆排序5、冒泡排序6、快速排序7、归并排序8、二分查找算法Q:什么时候需要结束呢?三、线性表1、概念2…

使用 Footprint Analytics, 快速搭建区块链数据应用

Nov 2022, danielfootprint.network 如果你有一个处理 NFTs 或区块链的网站或应用程序,你可以在你的平台上直接向用户展示数据,以保持他们在网站或者应用内的参与,而不是链接以及跳出到其他网站。 对于任何区块链应用或者媒体、信息网站来说…

秦皇岛科学选育新品种 国稻种芯·中国水稻节:河北秸秆变肥料

秦皇岛科学选育新品种 国稻种芯中国水稻节:河北秸秆变肥料 秦皇岛新闻网 记者李妍 冀时客户端报道(河北台 张志刚 米弘钊 赵永鑫 通讯员 赵力楠) 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯…

无线通信技术概览

电生磁,磁生电 电场和磁场的关系,简而言之就是:变化的电场产生磁场,变化的磁场产生电场。 电荷的定向移动产生电流,电荷本身产生电场。电流是移动的电场。静止的电荷产生静止的电场,运动的电荷产生运动的电…

java实现阿里云rocketMQ消息的发送与消费(http协议sdk)

目录一、准备工作二、代码实现1.添加依赖2.创建一个常量类存放公共参数3.调用HTTP协议的SDK 发送普通消息4.调用HTTP协议的SDK 订阅普通消息三、配置main的日志输出级别四、测试效果五、完成代码一、准备工作 登录阿里云官网,先申请rocketMQ,再申请Topi…