计算机体系结构期末复习流程大纲

1.存储器和cache

存储器的容量、速度与价格之间的要求是相互矛盾的,速度越快,没bit位价格越高,容量越大,速度越慢,目前主存一般有DRAM构成。

处理器CPU访问存储器的指标:

  • 延迟时间(Latency)——单次存储器的访问时间:存储器访问时间>> 处理器时钟周期;
  • 带宽 (Bandwidth)——单位时间对存储器的访问次数:如果每条指令的执行需要m次访存操作,总计每条指令需要m+1次存储器访问(包括1次取指令),如果CPI = 1,则每个指令周期需要访存m+1;
  • 能耗 (Energy) -单次存储器访问消耗的能量 (nJ)

存储系统的设计目标:针对典型应用,使访存时间最短,通过优化存储系统组织架构,进行多级分层:M1速度最快,容量最小;

size(容量): Register << SRAM << DRA;

Latency(延迟时间): Register << SRAM << DRAM;

Bandwidth(带宽): on-chip >> off-chip

多级存储的目的是通过合理组织和层次化存储系统,提高计算机系统的 性能、效率和容量,以满足不同应用场景下的需求

策略(Strategy):使用小容量、高速存储器作为Cache,来降低平均访存延迟;

缓存(Cache):是一种减少访存延迟的机制,它基于经验观察,即处理器进行的 内存访问模式通常是高度可预测的。

存储器访问有两种可预测的模式:

  • 时间局部性( Temporal Locality ):如果一个地址被访问过,在不久的 将来很可能还会被访问。保持最近访问的数据项最接近微处理器;
  • 空间局部性( Spatial Locality ):如果一个地址被访问过,在不久的将来 该地址的临近地址很可能会被访问到。以由地址连续的若干个字构成的块为单位,从低层复制到上一层。

2.一致性问题

如何正确有序访问共享存储系统:

  • 存储一致性(Consistency):不同处理器发出的所有存储器操作的顺序问题(即针对不同存储单元或相同存储 单元) ;所有存储器访问的全序问题;
  • Cache一致性(Coherence) :不同处理器访问相同存储单元时的访问顺序问题;访问每个Cache块的局部序问题。

Cache一致性的问题:多个处理器或核心之间共享数据时,由于Cache的存在,可能导致不同处理器对同一块内存数据的缓存内容不一致的情况。

Cache一致性协议的关键在于:跟踪共享数据块的状态

跟踪共享数据块状态的cache协议有两种:

  • Snooping-based protocols (基于监听的协议) : 每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。
  • Directory-based protocols (基于目录的协议): 物理存储器中共享数据块的状态及相关信息均被保存在一个称为目录的地方。

MSI(Modified/Shared/Invalid)协议有三种状态:Modified:只有该数据块的备份是最新的,主存和其他处理器中的数据是陈旧的; Shared:该数据块在此处理器中未被修改过,主存中的内容是最新的;Invalid:该数据块是无效块。

MSI协议状态转换图

基于监听的Cache一致性局限性:

  • 监听协议需要通过总线广播请求:共享总线存在竞争使用问题;在由大量处理器构成的多处理器系统中,监听带宽会成为瓶颈;总线上能够连接的处理器数目有限,难扩展到处理器规模较大的系统;
  • 监听协议只适用于可伸缩性差的共享总线结构;
  • 如何不采用广播方式而保持缓存一致性:使用目录 (directory) 记录每个Cache块的状态;只有包含该数据块的缓存才会收到请求。

基于目录的Cache一致性:

  • 目录协议对监听协议的改进

  • 每个存储块对应一个目录项

MSI目录协议:

Cache状态:Modified(M)/ Shared(S)/ Invalid(I)

目录状态:Uncached(Un):所有处理器核心都没有数据副本;Shared(Sh):一个或多个处理器核具有读权限(S);Exclusive(Ex):只有一个处理器核具有读和写权限(M);

3.顺序一致性

顺序一致性(Sequential Consistency) : 该模型要求所有处理器的读、写和交换(swap)操作以某种序执行所形成的全局存储器次序,符合各处理器的原有程序次序。

即, 不论指令流如何交叠执行,全局序必须保持所有进程的程序:所有读写操作执行以某种顺序执行;每一个处理器看到的操作顺序是相同的。

完全存储定序模型(Total Store Order(TSO)):

完全存储定序模型规则:

  • 全局顺序存储: store操作存在一个全局的顺序;
  • Store缓冲: 允许处理器使用 Store buffer来缓存即将写入内存的数据,但必须确保缓冲中的数据在全局上有序提交;
  • load同样按顺序执行,但可穿插到多个store执行过程中:若存在一组store->load操作,如果由同一处理器执行且地址相关,则TSO允许该load操作在store操作完成之前就执行;但如果由多个core执行且地址相关,那TSO要求load指令在store执行完成后才能执行。

4.并行计算

Level of Parallelism并行级别:

  • 指令级并行 (ILP Instruction-level Parallelism):定义:在单个处理器上同时执行多条指令的能力;实现方式:通过在一个时钟周期内执行多个指令的部分,例如流水线处理、超标量处理和乱序执行等技术;
  • 数据级并行 (DLP Data-level Parallelism):定义:同时处理多个数据元素的能力;实现方式: 通过向量处理器、SIMD (单指令多数据)架构等技术,在单个指令下并行处理多个数据元素;
  • 线程级并行 ( TLP Thread-level Parallelism ):定义:任务被组织成多个线程,在多线程环境中同时执行多个线程的能力;实现方式:通过多核处理器、多处理器系统或者通过超线程技术,在不同的执行单元上并行执行多个线程。

如何使CPI<1,有两种基本方法:: Superscalar 、VLIW;

Superscalar:

  • 特点:具有多个执行单元,能够在同一时钟周期内同时发射和执行多条指令;
  • 硬件结构复杂:需要支持动态调度和处理指令之间的相关性;
  • IBM PowerPC, Sun UltraSparc, DEC Alpha, HP 8000;
  • 该方法对目前通用计算是最成功的方法。

Very Long Instruction Words (VLIW):

  • 特点:每个时钟周期流出的指令数是固定的;
  • 硬件结构简单:指令的执行顺序在编译时已知,处理器只需要静态调度逻辑。

多线程策略:保证一条流水线上的指令之间不存在数据依赖关系。

一种办法: 在相同的流水线中交叉执行来自不同线程的指令。

同步多线程 (Simultaneous Multithreading (SMT)):SMT 使用Oo0 Superscalar细粒度控制技术在相同时钟周期运行多个线程的指令,以更好的利用系统资源;

Alpha AXP 21464;Intel Pentium 4,Intel Nehalem i7 [超线程(Hyper-Threading)](Intel的超线程一直都是SMT2,一个物理核虚拟出两个逻辑核);IBM Power5。

评估指标 (算力指标)

Flop:浮点运算,通常为双精度;

Flop/s(Flops):每秒浮点运算次数;

Flops=【CPU核数】*【单核主频】*【CPU单个周期浮点计算能力】;

以Intel Xeon 6348 CPU为例;

28核,主频2.6GHz,支持AVX512指令集,且FMA系数=2;

CPU单周期单精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/32=64;

CPU单周期双精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/64=32;

6348的单精度算力=28x2.6x64=4659Gflops=4.6Tflops;

6348的双精度算力=28x2.6x32=2329Gflops=2.3Tflops。

5.SIMD和向量处理器

向量处理器具有更高层次的操作,一条向量指令可以同时处理N个或N 对操作数(处理对象是向量);

向量处理器的基本特性:

  • 基本思想:两个向量的对应分量进行运算,产生一个结果向量;
  • 简单的一条向量指今包含了多个操作 -> fewer instruction fetches;
  • 每一条结果独立于前面的结果: 长流水线,编译器保证操作间没有相关性;硬件仅需检测两条向量指令间的相关性;较高的时钟频率;
  • 向量指令以已知的模式访问存储器:可有效发挥多体交叉存储器的优势;不需要数据Cache (仅使用指令Cache);
  • 在流水线控制中减少了控制Hazard:有效利用流水线并发执行指令。

向量处理器单元结构:采用多流水线lane设计,lane:包含向量寄存器堆的一部分和来自每个向量功能单元的一个执行流水线。

6.GPU体系结构

GPU计算系统

CPU+GPU异构体系结构:推动异构计算的发展;针对每个任务选择合适的处理器和存储器;

通用CPU 适合执行一些串行的线程:串行执行快;带有cache,访问存储器延时低;

GPU适合执行大量并行线程:可扩展的并行执行;高带宽的并行存取。

7.硬件加速器

(领域专用体系结构)加速器

加速器是面向特定领域、针对有限算法定制设计的专用计算架构其目的是提升特定计算的性能或减少功耗需求,可分为:机器学习加速器;图计算加速器;同态加密加速器。

8.微码和超长指令字VLIW处理器

微码技术并不会被淘汰:

  • 现代微处理器中微程序控制扮演辅助的角色;
  • 芯片bug的漏洞修复(基于微码的修复和升级)。

超长指令字VLIW定义:

  • 提高指令级并行 (ILP) 的有效方法:流水线,多处理器,超标量处理器,超长指令字VLIW;
  • 定义: VLIW指的是一种被设计为可以利用指今级并行 (ILP) 优势的CPU体系结构,由于在一条指今中封装了多个并行操作,其指令的长度比RISC或CISC的指令要长,因此起名为超长指令集;
  • VS.超标量处理器:相同:一次发射并完成多个操作,提高ILP;不同:超标量:要复杂逻辑发现指令之间的数据依赖关系,以及乱序执行逻辑和超标量架构来实现多指令的并行发射;VLIW: 通过编译器对并发操作进行了编码,这种显式编码极大地降低了硬件的复杂性。

VLIW: Very Long Instruction Word

  • 定长指令,将多个相互无依赖关系的指令封装到一条超长的指令字中;
  • 每个操作槽 (slot) 均用于固定的功能;
  • 每个功能单元的operation都声明了固定的延迟。

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

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

相关文章

【C++】—— 工厂模式详解

目录 &#xff08;一&#xff09;工厂模式的特点 &#xff08;二&#xff09;工厂模式分类 1、简单工厂模式 2、工厂方法模式 3、抽象工厂模式 &#xff08;三&#xff09;总结与回顾 &#xff08;一&#xff09;工厂模式的特点 1、优势 ⼯⼚模式是⼀种创建型设计模式&a…

快速入门Visual Studio 2022开发.Net Framework研发环境指南

IDE工具 Visual Studio 2022 Vs2022企业版 - VisualStudioSetup.exe Visual Studio Code VSCodeUserSetup-x64-1.66.2.exeVSCodeUserSetup-x64-1.67.0-insider.exe IDE环境 编程字体YaHei.Consolas YaHei.Consolas.1.12.ttf IDE插件 Visual Studio Code常用插件 Chinese…

django项目基础后端功能使用

参考材料 Django新手项目实例-CSDN博客 一、django安装 pip3 install django 二、django项目新建 在目标目下执行 django-admin startproject testdjgo 执行完成后生成对应项目路径 三、django路由功能编写 /xxx/urls.py中编写路由信息&#xff0c;并且把路由转发到对应…

说出来你别不信,盲订问界M9的原因 你们想错了,他们只图这个

文|AUTO芯球 作者|李瑞 怎么还有人说华为是骗子&#xff1f; 华为一张海报说问界M9上市6天&#xff0c;大定超过3万台。有些人就说这是假的&#xff0c;反正没第三方数据&#xff0c;华为可以随便写。 我去&#xff0c;我作为一名大定问界M9的车主&#xff0c;就奉劝哪些黑子…

5.vue学习笔记(数组变化的侦测+计算属性+Class绑定)

文章目录 1.数组变化的侦测1.1.变更方法1.2.替换一个数组 2.计算属性计算属性缓存vs方法 3.Class绑定3.1.绑定对象3.2.多个对象的绑定形式3.3.绑定数组3.4.数组与对象 1.数组变化的侦测 1.1.变更方法 vue能够侦听响应式数组的变更方法&#xff0c;并在它们被调用时出发相关的…

Taro+vue3 实现电影切换列表

1.需求 我们在做类似于猫眼电影的小程序或者H5 的时候 我们会做到那种 左右滑动的电影列表&#xff0c;这种列表一般带有电影场次 2.效果 3.说明 这种效果在淘票票 猫眼电影上 都有的 &#xff0c;一般电影类型的H5 或者小程序 这个是都有的 第一是好看 第二是客观性比较好 …

Mysql InnoDB行锁深入理解

Record Lock记录锁 Record Lock 称为记录锁&#xff0c;锁住的是一条记录。而且记录锁是有 S 锁和 X 锁之分的&#xff1a; 当一个事务对一条记录加了 S 型记录锁后&#xff0c;其他事务也可以继续对该记录加 S 型记录锁&#xff08;S 型与 S 锁兼容&#xff09;&#xff0c;…

物联网与智能家居:跨境电商与未来生活的融合

物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;和智能家居技术正迅速崛起&#xff0c;成为跨境电商领域的创新引擎。这两者的巧妙结合不仅为消费者提供更智能、便捷的生活方式&#xff0c;同时也为电商平台和制造商带来了全新的商机。本文将深入探讨物联网与…

C++模板——(3)类模板

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 勤奋&#xff0c;机会&#xff0c;乐观…

使用pyinstaller打包生成exe(解决gradio程序的打包问题)

解决 [Errno 2] No such file or directory: gradio_client\types.json 问题&#xff0c;不需要手动创建hook文件 解决 FileNotFoundError: [Errno 2] No such file or directory: gradio\blocks_events.pyc 问题&#xff0c;不需要将pyi文件重命名为pyc文件 最终实现gradio程…

手撕 PCA

PCA&#xff08;Principal Component Analysis&#xff09;&#xff0c;中文名称&#xff1a;主成分分析。迄今为止最流行的降维算法。 假设 n 维空间中的一个单位立方体&#xff0c;易知&#xff1a;一维空间中该立方体中任意两点的距离不超过 1 1 1&#xff0c;二维空间中该…

自动连接校园网(河海大学)

layout: post # 使用的布局&#xff08;不需要改&#xff09; title: 自动连接校园网&#xff08;河海大学&#xff09; # 标题 subtitle: 网络 #副标题 date: 2024-01-09 # 时间 author: BY ThreeStones1029 # 作者 header-img: img/about_bg.jpg #这篇文章标题背景图片 catal…

GAMES101-Assignment4

一、问题总览 实现de Casteljau算法来绘制由4个控制点表示的Bzier曲线。需要修改main.cpp中的如下函数&#xff1a; bezier&#xff1a;该函数实现绘制Bzier曲线的功能。它使用一个控制点序列和一个OpenCV::Mat对象作为输入&#xff0c;没有返回值。它会使t在0到1的范围内进行…

Python采集微博评论做词云图

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用: Python 3.10 Pycharm 第三方模块使用: import requests >>> pip install requests import wordcloud >>> pip install wordclou…

扩展学习|数据融合助推商务智能与分析

文献来源&#xff1a;[1]李爱华,续维佳,石勇.基于数据融合的商务智能与分析架构研究[J].计算机科学,2022,49(12):185-194. 一、信息融合 &#xff08;一&#xff09;信息融合定义演变 早期信息融合的定义指出&#xff0c;其主要任务是综合分析若干传感器观测到的信息[9,…

微信小程序canvas画布实现矩形元素自由缩放、移动功能

获取画布信息并绘制背景 .whml <canvas class="canvas" type="2d" id="myCanvas" bindtouchstart="get_rect_touch_position" bindtouchmove="move_or_scale" bind:tap="finish_edit_check"/> .wxss .c…

【案例实战】业务稳定性运行之全链路混合压测

1.全链路压测开展步骤 &#xff08;1&#xff09;什么是全链路压测 全链路压测是指基于真实业务场景&#xff0c;通过模拟海量的用户请求&#xff0c;对整个后台服务进行压力测试&#xff0c;从而评估整个系统的性能水平。 对应用程序的整个技术栈进行完整的压力和性能测试&a…

关于24年信息系统项目管理师论文如何提升?

信息系统项目管理师论文满分是75分&#xff0c;45分及以上为及格&#xff0c;论文评分可分为优良、及格与不及格3个档次。 评分的分数可分为&#xff1a; &#xff08;1&#xff09;60分至75分优良&#xff08;相当于百分制80分至100分&#xff09;。 &#xff08;2&#xf…

数模学习day09-cftool使用

老版本的MATLAB可以在命令行使用cftool打开&#xff0c;2017a的版本可以直接找到。 x和y在你的工作区中需要已经存在&#xff0c;然后打开该工具箱就可以看见。 选择X和Y xy选择好之后就自动画好了拟合曲线。 Results分析 画好之后结果就呈现在这里了 这里的p1就是拟合系数&…