计算机组成原理(四)Cache存储器

文章目录

  • Cache存储器的基本原理
  • cache命中率、平均访问时间、效率
  • 地址映射
    • 全相联映射
    • 直接映射
    • 组相联映射
  • 查找算法
  • cache 存储器替换策略
  • cache 存储器-写操作策略
  • 习题

Cache存储器的基本原理

  • Cache是一种高速缓冲寄存器,是为了解决CPU和主存之间速度不匹配而采用的一项关键技术。
  • Cache能够高速地向CPU提供指令和数据,从而加快程序的执行速度。
  • Cache 为了追求高速,包括管理在内的全部功能由硬件完成。

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

cache命中率、平均访问时间、效率

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

  • 理解

在这里插入图片描述

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

地址映射

  • 主存容量远大于cache容量,所以当你要把一个主存块调入cache时,就有一个如何放置的问题(映射问题)

全相联映射

  • 全相联映射:将主存种一个块的地址与块的内容一起存入cache的行中,其中块地址存入cache行的标记部分中。
  • cache的数据块大小称为行。主存的数据块大小称为块。行与块是等长的。
  • 可以使得主存中的一个块直接拷贝到cache的任意一行,非常灵活。
  • 缺点:比较电路难于设计和实现,只适合小容量cache使用

在这里插入图片描述

直接映射

  • 这是一种多对一的映射方式,但是一个主存块只能拷贝到cache的一个特定行位置上。
  • cache 的行号i 和主存的块号 j 有如下函数关系:
    i = j m o d m ( n 为 c a c h e 中的总行号) i = j mod m (n为cache中的总行号) i=jmodm(ncache中的总行号)
  • 直接映射方式的优点:硬件简单,成本低。
    缺点:每一个主存块只有一个固定的行位置可以存放,容易发生冲突。适合大容量的cache采用。
  • 区别于组相联映射

在这里插入图片描述

组相联映射

  • 组相联映射方式是全相联映射和直接映射的混合:将cache 分成u 组,每一组v行,主存存放到哪一个组是固定的,至于存到该组的哪一行是灵活的。
    m = u ∗ v 组号 q = j m o d u m = u*v 组号 q = j mod u m=uv组号q=jmodu
  • 组相联映射方式中,每一组的行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。

在这里插入图片描述

查找算法

  • 通过查找目录表实现
  • cache中设有一个目录表,该表所包含的项数与cache的块数相同,每一项对应cache中的一块,用于指出当前该块中存放的信息是哪一个主存块的。它实际上记录了该主存块的块地址的高位部分,称为标识(tag).每一个主存块能唯一地由其标识来确定。

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

cache 存储器替换策略

  • cache的工作原理要求它尽量保存最新数据

在这里插入图片描述

cache 存储器-写操作策略

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

习题

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

  • 简单点评:
    (1)全相联方式:其实就是组号为1的组相联方式,那么对于主存的地址的分配,就只有标记+块内地址,同时,这个标记的位置也就是内存中块的数目
    (2)直接映射方式:需要直接映射到cache中,所以要留有到底映射到哪一个cache的行,所以地址的组成是’标记+块数+块内地址’,其中,标记加上块数的部分的总的位数是主存中的块的数目,其中的块数应该是cache的行数
    (3)组相联映射:在全相联映射的基础上,增加了组号的问题,主存中地址的形式标记+组号+块内地址,其实,和直接映射相比,也就是将cache的行数换成了组数。

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

  • cache 的地址组成刚刚好是 块数加上块内地址

在这里插入图片描述

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

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

相关文章

Stable Diffusion基础:ControlNet之细节替换

本文继续给大家分享 Stable Diffusion 的基础能力:ControlNet之细节替换,故事的主角是 Tile。 Tile 的原意是瓦片、瓷砖。作为 ControlNet,它会对参考图进行分块,并识别出区块内的对象。如果提示词和区块内的对象匹配&#xff0c…

高考志愿填报:选择好专业还是好学校?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 高考志愿填报:选择好专业还是好学校? 每年高考结束后,考生和家长面临的一个…

【深度学习】AI换脸,EasyPhoto: Your Personal AI Photo Generator【一】

论文:https://arxiv.org/abs/2310.04672 文章目录 摘要IntroductionTraining Process3 推理过程3.1 面部预处理3.3 第二扩散阶段3.4 多用户ID 4 任意ID5 实验6 结论 下篇文章进行实战。 摘要 稳定扩散Web UI(Stable Diffusion Web UI,简称…

LabVIEW进行图像拼接的实现方法与优化

在工业检测和科研应用中,对于大尺寸物体的拍摄需要通过多次拍摄后进行图像拼接。LabVIEW 作为强大的图形化编程工具,能够实现图像拼接处理。本文将详细介绍LabVIEW进行图像拼接的实现方法、注意事项和提高效率的策略。 图像拼接的实现方法 1. 图像采集…

30.保存游戏配置到文件

上一个内容:29.添加录入注入信息界面 以 29.添加录入注入信息界面 它的代码为基础进行修改 效果图: 首先在我们辅助程序所在目录下创建一个ini文件 文件内容 然后首先编写一个获取辅助程序路径的代码 TCHAR FileModule[0x100]{};GetModuleFileName(NUL…

ByteTrack

1. 论文中伪代码表示的流程图 2. 简要版 此图源自: ByteTrack多目标跟踪原理,白老师人工智能学堂 3. 详细版 根据ByteTrack-CPP-ncnn代码的数据流画的较为详细的流程图: 4. ByteTrack-CPP-ncnn的UML类图 Reference ByteTrack多目标跟踪原…

事务性邮件与营销邮件有什么区别

在数字化时代,电子邮件已成为商务沟通不可或缺的工具。然而,并非所有的邮件都旨在销售产品或服务。事务性邮件和营销邮件,虽然都通过电子邮件这一渠道传播,但它们的目的、风格和结构却大相径庭。U-Mail将深入探讨这两种邮件的区别…

cve_2014_3120-Elasticsearch-rce-vulfocus靶场

1.背景 来源:ElasticSearch(CVE-2014-3120)命令执行漏洞复现_mvel 漏洞-CSDN博客 参考:https://www.cnblogs.com/huangxiaosan/p/14398307.html 老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复…

React入门教程:构建你的第一个React应用

在当今快速发展的Web开发领域,前端技术日新月异,而React作为一款强大的JavaScript库,已经成为众多开发者的首选。React以其组件化、高效的性能和灵活的数据处理机制闻名于世,被广泛用于构建动态且复杂的用户界面。在本教程中&…

新人最全Charles安装配置来了

1. windows proxy 这个按钮根据需要,进行打开或者关闭。该按钮勾选状态下则表示可以抓取到电脑端的请求 2. Proxy-setiing 检查enable transparent HTTP 按钮是否勾选 这个按钮必须勾选 3. SSL proxy setting 80:HTTP协议的端口号 8080&#xff1…

SFNC —— 标准特征命名约定(一)

系列文章目录 SFNC —— 标准特征命名约定(一) 文章目录 系列文章目录1、介绍1.1 约定(Conventions)功能名称和接口(Feature Name and Interface)功能类别(Feature Category)功能级别…

NAND闪存市场彻底复苏

在全球内存市场逐渐走出阴霾、迎来复苏曙光之际,日本存储巨头铠侠(Kioxia)凭借敏锐的市场洞察力和及时的战略调整,成功实现了从生产紧缩到全面复苏的华丽转身。这一转变不仅彰显了企业在逆境中的生存智慧,也为全球半导…

SpringBootWeb 篇-入门了解 Apache POI 使用方法

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Apache POI 概述 2.0 使用 Apache POI 读写 Excel 文件 2.1 写入 Excel 文件 2.2 写入 Excel 文件代码演示 2.3 读取 Excel 文件 2.4 读取 Excel 文件代码演示 1.…

[蓝桥杯真题]买二赠一

蓝桥杯真题;买二赠一,要求赠的一价格不能超过买的两者之间最小价格的二分之一 看到这个题的时候我信心满满的一顿操作猛如虎,全部写出来的时候内心想着,稳了!这次绝对稳了!然而。。。答案错误。。。 我只能去看了一下…

苹果的后来者居上策略:靠隐私保护打脸微软

01.苹果与微软相比更注重用户隐私 我一直是Windows的忠实用户,但微软疯狂地将人工智能融入一切,让我开始觉得应该咬咬牙换成Mac。 自小我几乎只用Windows电脑,所以我对MacOS一直不太适应。虽然Windows 11有其缺点,但总的来说&am…

【系统架构设计师】一、计算机系统基础知识(指令系统|存储系统|输入输出技术|总线结构)

目录 一、指令系统 1.1 计算机指令 1.2 指令寻址方式 1.3 CISC 与 RISC 1.4 指令流水线 二、存储系统 2.1 分级存储体系 2.2 地址映射 2.3 替换算法 2.4 磁盘 2.4.1 磁盘结构和参数 2.4.2 磁盘调度算法 三、输入输出技术 四、总线结构 五、考试真题练习 一、指令…

2024年6月10日~2024年6月16日周报

文章目录 一、前段时间工作二、完成情况2.1 可变形卷积的学习2.1.1 Introduction-介绍2.1.2 Related Work-相关工作2.1.3 Method-方法2.1.3.1 可变形卷积动态属性的重认识2.1.3.2 Speeding up DCN—加速DCN 2.2 部署可变形卷积 三、假期计划 一、前段时间工作 在之前一段时间主…

【深度学习】GPT1,提高语言理解的生成预训练方法

论文: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf 文章目录 提高语言理解的生成预训练方法摘要引言相关工作自然语言处理的半监督学习无监督预训练辅助训练目标 框架无监督预训练有…

干G货,性能测试基本方法和原则,

一、性能测试关键点 评估性能指标——线程tps(可架构给) 吞吐量qps(可架构给) 错误率(可架构给) 平均响应时间(可架构给)模拟线上数据量了解接口有没有缓存,有缓存的需要…

TypeScript写好了,怎么运行啊!!!

环境搭建 Vs code Ctrlshiftp打开首选项—》打开工作区设置—》搜索Typescript 推荐开启的配置项主要是这几个: Function Like Return Types,显示推导得到的函数返回值类型;Parameter Names,显示函数入参的名称;Par…