计算机组成原理(笔记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.rhkb.cn/news/453516.html

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

相关文章

01 一篇读懂25机械考研复试超全流程讲解|考研面试经验和面试真题快来背诵!

复试面试流程及经验汇总篇 千万不要小瞧出成绩前的准备以及最常见面试问题你提前熟记于心,面试再遇到,能够有逻辑有条理的回答出不是空洞的话,给导师的印象分就肯定高。 考研复试面试最全最完整的实用攻略,从出考研初试成绩前到…

《深度学习》模型的部署、web框架 服务端及客户端案例

目录 一、模型的部署 1、模型部署的定义与目的 1)定义 2)目的 2、模型部署的步骤 1)导出模型 2) 部署模型 3)测试模型 4)监控模型 3、模型部署的方式 1)云端部署 2)嵌入…

RHCE--at,crontab例行性工作

一:安装at (1)配置yum仓库:以配置网络源举例: 先在/etc/yum.repos.d/ 目录下创建一个以.repo结尾的文件 vim /etc/yum.repos.d/aliyun.repo 写入可以在阿里云镜像站查找appstream和baseos的地址阿里巴巴开源镜像站…

内核调度hh

的国际化的比较好 11 其他

英语语法学习框架(考研)

一、简单句 英语都是由简单句构成,简单句共有五种基本句型:①主谓;②主谓宾;③主谓宾宾补;④主谓宾间宾(间接宾语);⑤主系表; 其中谓语是句子最重要的部分,谓…

别再用老旧架构了!单元化构建超强弹性和容错系统!

0 关键收获 单元化架构提高了微服务的弹性和容错性。可观察性对于开发和运营单元化架构至关重要。单元路由器是单元基础架构的关键组件,它需要快速响应单元可用性和健康变化。要成功采用单元化架构,需要全面和综合的方法来实现可观察性。单元化架构利用…

改变函数调用上下文:apply与call方法详解及实例

目录 改变函数调用上下文:apply与call方法详解及实例 一、什么是 apply 方法? 1、apply 语法 2、apply 示例 二、什么是 call 方法? 1、call 语法 2、call 示例 三、apply 和 call 的共同与差异 1、apply 和 call 的共同点 2、apply…

centos7-网络模式选择NAT连接时遇到的问题

今天花了我一上午的时间,必须要记录一下。 新创建的虚拟机,选择的centos7-NAT的网路连接模式。 科普一下: 我选择的NAT模式, 然后改了 vi /etc/sysconfig/network-scripts/ifcfg-ens33文件的 source ~/.bashrc和reboot之后 执行service n…

nginx 快速入门

配置文件 nginx.conf 每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机 #这一行表示这个server块监听的端口是80,只要有请求访问了80端口,此server块就处理请求listen 80;# 表示这个server块代表的虚拟主机的名字…

优雅的入参校验,Valid常用校验

更好的阅读体验:优雅的入参校验,Valid常用校验 对于前端传递的参数,正常情况下后端是要进行一些必要的校验,最简单的做法是用 if 效果是可以,但不优雅。使用 Validator 代替 if,就会优雅很多 ps&#xff…

重学SpringBoot3-Spring Data JPA简介

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Spring Data JPA简介 1. 什么是 Spring Data JPA?2. Spring Data JPA 的核心概念2.1. 实体(Entity)2.2. Repository&…

SpringBoot整合mybatisPlus实现批量插入并获取ID

背景:需要实现批量插入并且得到插入后的ID。 使用for循环进行insert这里就不说了,在海量数据下其性能是最慢的。数据量小的情况下,没什么区别。 【1】saveBatch(一万条数据总耗时:2478ms) mybatisplus扩展包提供的:…

吴恩达深度学习(9)

经典的神经网络: 残差网络(ResNet) 太深的神经网络容易出现梯度消失与梯度爆炸等问题。 跳跃连接,能从一层中得到激活并将其传递给下一层,甚至更深的网络层。利用这个可以训练网络层很深很深的残差网络(R…

Go 1.19.4 命令调用、日志、包管理、反射-Day 17

1. 系统命令调用 所谓的命令调用,就是通过os,找到系统中编译好的可执行文件,然后加载到内存中,变成进程。 1.1 exec.LookPath(寻找命令) 作用: exec.LookPath 函数用于在系统的环境变量中搜索可…

海思hi3536c配置内核支持USB摄像头

linux内核版本:linux-3.18.20 配置步骤 进入Device Drivers 选择Multimedia support,并进入 选择Media USB Adapters,并进入 如下图,选择这几项: 保存退出,重新编译内核下载 内核更新后&#xff0c…

DIFFEDIT: DIFFUSION-BASED SEMANTIC IMAGE EDIT- ING WITH MASK GUIDANCE

https://arxiv.org/pdf/2210.11427 问题引入 针对的问题是输入text prompt完成对图片的编辑,基于的是T2I model;本文的方法不需要额外提供mask来将任务变为inpaint任务,而是可以自动的根据text prompt来提取出需要编辑区域的mask methods

支付域——支付背景

摘要 支付体系作为现代金融的重要组成部分,承担着资金流转与经济交易的关键职能。随着科技的发展,全球支付方式迅速演变,尤其是在中国,移动支付、互联网支付等新兴方式已广泛应用。传统的现金、银行卡支付逐渐被数字支付所取代,支付宝、微信支付等第三方支付机构成为主流…

计算机网络:数据链路层 —— 扩展共享式以太网

文章目录 共享式以太网共享式以太网存在的问题在物理层扩展以太网扩展站点与集线器之间的距离扩展共享式以太网的覆盖范围和站点数量 在链路层扩展以太网网桥的主要结构网桥的基本工作原理透明网桥自学习和转发帧生成树协议STP 共享式以太网 共享式以太网是当今局域网中广泛采…

Leetcode|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II

24. 注意:涉及头节点的修改或者删除时,最好设置一个虚拟的头结点,方便简化代码,不必进行是否为头节点的的判断,简化code class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode* dummyHead new Li…

Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法

adobe acrobat在打印的时候,打印不出来注释内容(之前一直可以,突然就不行),升级版本、嵌入字体等等都试过,也在Google找了半天和问了GPT也么找着办法。 无奈之下,自己通过印前检查,…