计算机组成原理(笔记7高速缓冲存储器Cache,计算机组成原理的重难点全、直接、组相连)

为什么要设立高速缓冲存储器 (Cache)?

Cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。
在这里插入图片描述
不过计算机本身是不知道自己是这样的执行,它只知道用

Cache工作原理

在计算机中,我们访问的速度快有个重要的原因,就是引入了cache
他提前,把主存的内容下载好,然后让我们快速访问,通常cache会比主存小很多
Cache与主存之间的数据交换是以块为单位
所为块,我们把主存和cache里面,我们分成一个一个的小房间,也就是块,这样你需要什么我们可以直接找到房间号,去拿出我们要的东西
在这里插入图片描述
Cache的基本概念

  • 命中 hit: CPU访问数据在cache中(上层存储器)
  • 缺失 miss: CPU访问数据不在cache中
  • 块 block: cache与主存交换最小单位
    块大小多少合适??? 实现预读
  • 行/槽 Line/Slot:标记、标志位、数据块容器
    有效位、查找标记、脏标志位、置换标志、数据块副本
  • Cold Cache、Warm Cache

Cache的性能参数

如果考到以下的例题那就是送分题
Cache的命中率
增加cache的目的,就是在性能上使主存的平均访问时间尽可能接近Cache的访问时间。因此,Cache的命中率应接近于1。由于程序访问的局部性,这是可能的。在一个程序执行期间,设Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率(Hit Ratio),则有
在这里插入图片描述
平均访问时间(等效访问时间)ta
若tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,1-h表示为缺失率(Miss Ratio),则Cache/主存系统的平均访问时间ta为:
在这里插入图片描述
访问效率
设立Cache/主存系统的目标,是以较小的硬件代价,使系统的平均访问时间ta越接近tc越好。设r=tm/tc表示主存慢于Cache的倍数,e表示访问效率,则有:
在这里插入图片描述
由上式可以看出,为提高访问效率,命中率h越接近1越好,r值以5—10为宜,不宜太大。
命中率h与程序的行为、Cache的容量、组织方式、块的大小有关。
在这里插入图片描述

Cache读、写流程与关键技术

  • CPU给出主存地址(块地址,块内地址)
  • 主存块地址为关键字进行查找
  • 如相符表示副本在cache中,命中,访问cache
  • 否则数据缺失,访问主存
    将数据所在块副本调入cache(块交换—局部性)
    载入副本过程可能引起替换
    更新查找表,记录当前数据块地址
    cache缺失时系统等待数据调入
    在这里插入图片描述
  • CPU给出主存地址
  • 主存块地址为关键字进行查找
    相符则表示命中,数据副本在cache中
    缺失根据写分配策略决定是否将该主存地址对应数据块调入
  • 写入数据到cache
  • 根据写策略决定是否写入主存
    在这里插入图片描述

CPU cache基本组织方式

  • CPU cache由较快的SRAM构成
  • cache与主存均分为固定大小的数据块,以块为单位交换数据
  • 相联存储器存放查找表
    表项:(有效位,调入cache的主存块地址,cache块地址)
    容量 = cache块数 * 表项大小
  • CPU给出的块地址与查找表中某单元相同且有效位为1表示命中
    全相联:硬件多路并发比较可以提升查找速度

下图是块与块内地址
在这里插入图片描述

重点

在这里插入图片描述

全相联

在这里插入图片描述
在这里插入图片描述
查找表和缓存副本一体(CPU片内缓存)
存放cache行
有效位,主存块地址,数据块副本,标志位(Dirty bit),置换标记
存储容量= cache行大小 × 行数

查找表和缓存副本分离(片内查找表,片外缓存)
存放查找信息
有效位,主存块地址, cache块地址,标志位(Dirty bit),置换标记
存储容量=查找表表项大小 × 行数

在这里插入图片描述
解释:根据上图,我们看到1F转换为二进制,就是000011111,至于为什么一共是9位,这是因为主存块的大小2的9次方

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

直接相连

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
cache容量 = 行大小 × 行数
  =(标志位+标记位+数据块+置换标记) × 行数
标记位=区地址
标志位(有效标志位,脏数据位)
无相联存储器,一个比较器

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

在这里插入图片描述

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

组相连

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

存放数据副本

多个相联存储器共享一个多路比较器

相对于全相联 多路比较器复杂度低

查找表表项内容(valid位,标记,dirty位,置换标记位)

相联存储器总容量

cache行数*(1+标记宽度+1+置换标记位)

片外缓存如果查找表在CPU内部?

查找表中必须增加cache行地址? why
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题

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

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

对于初学的难题

这道题的难点
1.脑子对字和字节要转换过来
2.对于倍数,2进制的运算,要理解清楚
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

相关文章

10月15日,每日信息差

第一、《哈利・波特与魔法石》在中国内地总票房突破 3 亿元,包括 2002 年首映的 5600 万,2020 年重映的 1.923 亿,以及 2024 年重映的 5170 万。 第二、全国铁路实施新货物列车运行图,增开城际班列至 131 列,多式联运…

qiankun-前端接入微服务vue3项目应用

背景 由于在 《吐槽一次qiankun微前端的框架》 这篇博客中,初次使用qiankun,然后接入了原生项目作为微服务的应用到主应用,所以就想着出个系列篇 目的 介绍利用qiankun框架, vue3 项目应用作为微应用,怎么接入到主应…

节点+镜像

节点、镜像: 在服务器领域,"节点" 和 "镜像" 是两个关键的概念,常与分布式系统、云计算或集群相关联。以下是对它们的详细解释: 1. 服务器节点 在分布式系统或云计算环境中,节点指的是网络中执行特定任务的…

使用Mockaroo生成测试数据

使用Mockaroo生成测试数据 最近在学习【Spring Boot & React】Spring Boot和React教程视频的P51.Generating 1000 students一课中,看到了https://www.mockaroo.com/网站可以用来模拟生成测试数据,觉得还不错,特此记录一下。感觉每次看老…

centOS部署Jenkins实现项目可持续自动化部署

个人看的是尚硅谷的视频,跟着实战,但因为视频是21年的,所以很容易出现jenkins插件不适配问题。 因而个人直接用较新版的jdk和jenkins. 先切换到root用户 sudo su一、安装jdk 先查询可安装版本 yum list java*安装jdk(只复制圈…

【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 (一)匹配单个中文字符 (二…

数据结构常考基础代码题-顺序表有序插入

顺序表递增有序,插入元素 x,仍递增有序 第一步:定义顺序表结构体 根据题目中的“顺序表递增有序”,我们需要定义一个顺序表结构体,用于存储元素和顺序表的相关信息。 typedef struct {int *data; // 动态数组存储元…

DeepFM模型代码详解

直到看到这篇文章,我才搞明白类别特征怎么做lookup的,也看明白了代码逻辑。如果你看完没懂,私信留下wx,给你讲懂。 1、Deepfm 的原理,DeepFM 是一个模型还是代表了一类模型,DeepFM 对 FM 做了什么样的改进…

单细胞copyKat分析学习和整理

CopyKAT(肿瘤拷贝数核型分析)是一种使用综合贝叶斯方法的计算工具,能够在单细胞中以5MB分辨率检测全基因组非整倍体,以便从高通量单细胞RNA测序数据中区分肿瘤细胞与正常细胞,并识别肿瘤亚克隆。 (这里提一下,“5MB”是指 5兆碱基对(5 megab…

JSP复习(二)

九大内置对象 在 JSP(JavaServer Pages)中,有九大内置对象,这些对象为开发者提供了常用的功能,帮助简化 JSP 页面中的处理。以下是这九大内置对象: request:表示客户端请求的对象,可…

CTF-PWN方向 栈溢出等基础知识笔记(2)

C语言基本函数补充 write函数 ret2syscall 要求有0x80这种系统调用存在 (0x0A是回车的意思) 案例 通过file查看这个文件 发现是静态编译的文件 所以很多库函数都被编译进去了 但是不存在bin/sh字符串 不存在system和backdoor函数 修改,rea…

纯手柄控制电脑(且不用插鼠标而使用虚拟鼠标)

前言 因电脑升级后,旧主机就作为客厅游戏机使用了,于是想尽量减少设备的插入,单纯的每次只拔插手柄这一项外设就行,于是需要两大步骤即可到位。 安装JoyXoff 一、官网下载并直接安装:JoyXoff 二、默认开机自启&…

【环境搭建】远程服务器搭建ElasticSearch

参考: 非常详细的阿里云服务器安装ElasticSearch过程..._阿里云服务器使用elasticsearch-CSDN博客 服务器平台:AutoDL 注意: 1、切换为非root用户,su 新用户名,否则ES无法启动 2、安装过程中没有出现设置账号密码…

AD9361 在低至 1MHz 的频率下运行

AD9361 在低至 1MHz 的频率下运行 AD -FREQCVT1-EBZ是包含AD9361的FMCOMMS3/4/5板的附加板。虽然完整的芯片级设计包可在此 RF 收发器的ADI产品页面上找到,但有关此卡的信息及其使用方法、围绕它的设计包以及可使其工作的软件可在此处找到。 AD-FREQCVT1-EBZ 模块…

山西农业大学20241015

02-VUE 一. Vue中常用的指令1. Vue指令概述2 Vue中指令的分类3 Vue中指令3.1 内容渲染指令3.2 条件渲染指令3.2.1 v-show3.2.2 v-if3.2.3 v-else 和 v-else-if 3.3 事件绑定指令 v-on--重要3.3.1 内联语句3.3.2 methods中的函数名 一. Vue中常用的指令 1. Vue指令概述 概念: 指…

安装Node.js环境,安装vue工具

一、安装Node.js 去官方网站自行安装自己所需求的安装包 这是下载的官方网站 下载 | Node.js 中文网 给I accept the terms in the License Agreement打上勾然后点击Next 把安装包放到自己所知道的位置,后面一直点Next即可 等待它安装好 然后winr打开命令提示符cmd 二、安装…

MySQL中表的约束

1,概念 表中一定要有各种约束,通过约束,让我们来插入数据库中的数据是符合预期的。 约束本质是通过技术手段,倒逼程序员插入正确的数据;反过来,站在MySQL的角度来单,内部已经插进来的数据&…

YOLOv11改进策略【卷积层】| ParNet 即插即用模块 二次创新C3k2

一、本文介绍 本文记录的是利用ParNet中的基础模块优化YOLOv11的目标检测网络模型。 ParNet block是一个即插即用模块,能够在不增加深度的情况下增加感受野,更好地处理图像中的不同尺度特征,有助于网络对输入数据更全面地理解和学习,从而提升网络的特征提取能力和分类性能…

Web安全 - 跨站点请求伪造CSRF(Cross Site Request Forgery)

文章目录 OWASP 2023 TOP 10CSRF 导图CSRF的基本概念CSRF的工作原理常见CSRF攻击模式CSRF防御策略补充建议应用场景实战防御策略选择1. CSRF Token(首选)2. SameSite Cookie属性3. 验证Referer和Origin4. 多因素认证 实现方案CSRF Token实现SameSite Coo…

(39)MATLAB生成高斯脉冲及其频谱

文章目录 前言一、MATLAB仿真代码二、仿真结果画图 前言 高斯脉冲在通信中是很重要的调制符号波形,本文使用MATLAB生成高斯脉冲,并使用FFT变换给出其频谱。 一、MATLAB仿真代码 代码如下: % 信号参数 fs 100; % 采样…