计算机组成与设计硬软件接口学习2

news2024/11/15 20:24:22

并行处理器:从客户端到云

任务级并行或进程级并行:通过同时运行独立的多个程序来使用多处理器

并行处理程序:同时在多个处理器上运行的单个程序

通过增加硬件的方式,将取指令和指令译码实现并行,一次性取出多条指令,然后分发给多个并行的指令译码器,进行译码,然后对应交给不同的功能单元去处理。这样,在一个时钟周期里,能够完成的指令就不只一条了。这种 CPU 设计,叫作多发射(Mulitple Issue)和超标量(Superscalar)。

    多发射是指将多条指令同时发射到不同的译码器或者后续处理流水线中。

    超标量的CPU里面有很多并行的流水线,而不是单一一条。

向量和标量

向量指令的重要属性:

  • 单个向量指令指定了大量工作--相当于执行了完整的循环。正因为这样,指令取指和译码带宽大大减少
  • 通过使用向量指令,编译器或程序员确认了向量中的每个结果都是独立的,因此硬件无需再检查向量指令内的数据冒险
  • 当程序中存在数据级并行时,相比使用MMD多处理器,使用向量体系结构和编译器的组合更容易写出高效的应用程序
  • 硬件只需要在两条向量指令之间检查向量操作数之间的数据冒险,而无须检查向量中的每个数据元,减少检查的次数可以节省能耗和时间
  • 访问存储器的向量指令具有确定的访问模式。如果向量中的数据元位置都是连续的,则可以从一组存储器中交叉访问数据块,从而快速获取向量。因此,对整个向量而言,主存储器的延迟开销看上去只有一次,而不是对向量中每一个字都产生一次
  • 因为整个循环被具有已知行为的向量指令所取代,所以通常由循环引发的控制冒险不再存在
  • 与标量体系结构相比,节省的指令带宽和冒险检查以及对存储器带宽的有效利用,使得向量体系结构在功耗和能耗方面更具有优势

向量算术指令通常允许一个向量寄存器的元素N与其他向量寄存器的元素N进行交互。这极大地简化了高度并行的向量单元的构造--可构造为多个平行的向量通道

向量通道:一个或多个向量功能单元和一部分向量寄存器堆

硬件多线程

线程:包括程序计数器,寄存器状态和栈。线程是一个轻量级的进程,线程通常共享一个地址空间,而进程则不共享

进程:包括一个或多个线程,完整的地址空间和操作系统状态。因此,进程的切换通常需要调用操作系统,而线程切换则不用

硬件多线程:通过在一个线程停顿时切换到另一个线程来提高处理器的利用率

硬件多线程允许多个线程以重叠的方式共享单个处理器的功能单元,以有效地利用硬件资源

细粒度多线程:硬件多线程的一种版本,在每条指令之后切换线程

在每条指令执行后进行线程切换,导致了多线程的交叉执行。这种交叉执行通常以一种轮转方式完成,并跳过在该时钟周期停顿的任何线程。细粒度多线程的一个有点就是可以隐藏由短期和长期停顿引起的吞吐量损失,主要缺点是会减慢单个线程的执行速度,因为已经就绪的线程会因为执行其他线程的指令而延迟

粗粒度线程:硬件多线程的另一种版本,仅在重大事件(例如末级cache失效)之后才切换线程

几乎不会减慢单个线程的执行速度,因为只有在线程遇到高开销的停顿时才会发射来自其他线程的指令。但是有个严重缺点:降低吞吐量损失的能力有限,尤其对于短停顿

同时多线程:多线程的一个版本,通过利用多发射,动态调度的微体系结构的资源来降低多线程的成本

因为SMT依赖于现有的动态机制,因此它不会在每个时钟周期切换资源,相反,SMT始终执行来自多个线程的指令,将资源分配交给硬件完成,这些资源是指令槽和重命名寄存器

同时多线程:多线程的一个版本,通过利用多发射,动态调度的微体系结构的资源来降低多线程的成本

共享内存多处理器(SMP):为所有处理器提供统一物理地址空间

处理器通过存储器中的共享变量进行通信,所有处理器能够通过加载和存储指令访问任意存储器位置

统一内存访问:一种多处理器,无论哪个处理器访问存储器,存储器的访问延迟都大致相同

非统一内存访问:一种单地址空间多处理器,存储器的访问延迟各不相同,具体取绝与哪个处理器访问哪个存储

同步:协调两个或多个进程行为的过程,这些进程可能在不同的处理器上运行

GPU简介--图形处理单元(Graphics Processing Unit)

GPU区别于CPU的关键特性:

GPU依赖单个多线程SIMD处理器中的硬件多线程来隐藏存储器延迟

GPU中包含一个多线程SIMD(Single Instruction,Multiple Threads)处理器的集合,也就是说,GPU是由多线程SIMD处理器组成的MIMD(Multiple Instruction,Multiple Threads)

好文推荐:计算机组成原理 - 标签 - 庞某人 - 博客园 (cnblogs.com)

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

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

相关文章

MQTT 协议概要

01 MQTT协议 MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的支持在各方之间异步通信的消息协议。MQTT在空间和时间上将消息发送者与接收者分离,因此可以在不可靠的网络环境中进行扩展。虽然叫做消息队列遥测传输,但它与消息…

[RF学习记录][ssh library][execute Command】关键字的返回值

有时候需要判断通过ssh在远程机器上执行的命令是否正常,使用关键字Execute Command可以在远程机器上运行命令,但是默认不加任何参数的话,没有看到范返回值,而这个关键字是带了几个参数的,简单的试验了下这几个参数&…

点云从入门到精通技术详解100篇-单期点云的高斯曲率定位桥梁潜在损伤技术研究

目录 前言 国内外研究现状 三维激光扫描对桥梁损伤检测的研究现状 基于点云高斯曲率损伤检测的研究现状 柱体偏差检测技术研究现状 存在的问题 法向量约束高斯曲率的 TLS 桥面潜在损伤区域探测 2.1 高斯曲率探伤的基本理论 2.2 点云拓扑关系建立的方法比较 2.2.1 KD-…

机器学习第十三课--主成分分析PCA

一.高维数据 除了图片、文本数据,我们在实际工作中也会面临更多高维的数据。比如在评分卡模型构建过程中,我们通常会试着衍生出很多的特征,最后就得到上千维、甚至上完维特征;在广告点击率预测应用中,拥有几个亿特征也是常见的事…

【数学建模】2023华为杯研究生数学建模F题思路详解

强对流降水临近预报 我国地域辽阔,自然条件复杂,因此灾害性天气种类繁多,地区差异大。其中,雷雨大风、冰雹、龙卷、短时强降水等强对流天气是造成经济损失、危害生命安全最严重的一类灾害性天气[1]。以2022年为例,我国强对流天气引发风雹灾害造成的死亡失踪人数和直接经济…

git:一、GIT介绍+安装+全局配置+基础操作

版本管理系统(SVN和Git): 集中式版本控制系统(SVN) SVN是集中式版本控制系统,版本库是集中放在中央服务器的. 工作流程如下: 1.从中央服务器远程仓库下载代码 2.修改后将代码提交到中央服务器远程仓库…

基于微信小程序的电影院订票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信小程序端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取 前言 💗博主介绍&…

原生js的animate()方法详解

1.介绍 Element 接口的 animate() 方法是创建一个新的 Animation 的便捷方法,将它应用于元素,然后运行动画。它将返回一个新建的 Animation 对象实例。 同时通过Element.getAnimations() 方法可获取元素所有的Animation实例。 2.语法 Element.animate…

读高性能MySQL(第4版)笔记14_备份与恢复(中)

1. 在线备份 2. 离线备份 2.1. 关闭MySQL做备份是最简单、最安全的 2.2. 所有获取一致性副本的方法中最好的 2.3. 损坏或不一致的风险最小 2.4. 根本不用关心InnoDB缓冲池中的脏页或其他缓存 2.5. 不需要担心数据在尝试备份的过程中被修改 2.5.1. 服务器不对应用提供访问…

Redis淘汰策略-架构案例2020(三十六)

上篇案例回顾: 解释器,管道过滤,隐式调用优缺点? 解释器 则是独立的语法规则,可以通过解释器来解析,可扩展性很高,灵活性强。 管道过滤则是侧重于数据的输入和输出,上一个模块的数…

stm32之看门狗

STM32 有两个看门狗,独立看门狗和窗口看门狗,独立看门狗又称宠物狗,窗 口看门狗又称警犬。可用来检测和解决由软件错误引起的故障。两个看门狗的原理都是当计数器达到给定的超时值时,产生系统复位,对于窗口型看门狗同…

2023.9.20 简单了解 HTTP协议 及 Fiddle 安装使用

目录 HTTP 协议基本概念 Fiddle 下载 HTTP 请求格式 HTTP 响应格式 HTTP 协议基本概念 应用层使用最广泛的协议浏览器 基于 HTTP协议 获取网站是 浏览器 和 服务器 之间的交互桥梁HTTP协议 基于传输层的 TCP协议 实现HTTP 全称为 HyperText Transfer Protocol,中…

Java IO流实现文件复制

目录 前言 文件复制底层逻辑 代码实现 ​编辑 重点!!! 完整代码 改善思考 前言 Windows文件复制时我们是使用Ctrl C复制Ctrl V粘贴,上一篇文章Java基础入门对存储文件的相关操作 我们学习了Java IO流对文件的读写操作&…

数据结构--排序(1)

文章目录 排序概念直接插入排序希尔排序冒泡排序堆排序选择排序验证不同排序的运行时间 排序概念 排序指的是通过某一特征关键字(如信息量大小,首字母等)来对一连串的数据进行重新排列的操作,实现递增或者递减的数据排序。 稳定…

深度学习自学笔记二:逻辑回归和梯度下降法

目录 一、逻辑回归 二、逻辑回归的代价函数 三、梯度下降法 一、逻辑回归 逻辑回归是一种常用的二分类算法,用于将输入数据映射到一个概率输出,表示为属于某个类别的概率。它基于线性回归模型,并使用了sigmoid函数作为激活函数。 假设我们…

Git_06_创建分支/查看分支

创建分支 # 创建分支的同时,切换到该分支上 > git checkout -b 分支名称 # > git push origin 分支名称查看分支 # 查看本地分支 > git branch # 查看远程分支 > git branch -r # 查看所有分支 > git branch -a删除分支 # 删除本地分支 > git …

app一键加固加签名脚本 百度加固 window版本

echo off setlocal enabledelayedexpansionset KEYSTORE_PATH*.jks set KEYSTORE_PASSWORD* set KEY_ALIAS* set KEY_PASSWORD*set OUTPUT_DIR%cd%\out set UNSIGNED_DIR%cd%\unsignedREM 设置加固工具的路径和密钥 set APKPROTECT_PATH"apkprotect" set AKEY替换成你…

Postman 全局配置接口路径变量等

Postman 全局配置接口路径变量等 一、简介 这里主要是介绍通过配置postman接口测试工具,简化每次新增模块等接口时修改url的繁琐过程,方便以后查阅!!! 二、全局变量设置 1、新增测试环境 新增测试环境 2、接口集合设…

上N下P三极管推挽电路----》交越失真问题的解决

交越失真现象: 波形失真原因: 三极管的导通条件是Vbe > 0.7V,在正弦波驱动波形介于-0.7v ~ 0.7v之间时,上N管子截止、下P管子也截止,此时波形失真。 (关于三极管的伏安特性曲线、米勒效应,请自行百度) …

UOS Deepin Linux 安装 anaconda

UOS Deepin Linux 安装 anaconda 下载 anaconda 官网下载 国内开源镜像站下载 官网下载 anaconda 官网: https://www.anaconda.com/ 点击右上角 Free Download 按钮 跳转值下载页面:https://www.anaconda.com/download 国内开源镜像站下载 清华大学开源…