当前位置: 首页 > news >正文

25考研计算机组成原理复习·3.5高速缓冲存储器

高速缓冲存储器Cache

  1. 工作原理:将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾
  2. 局部性原理
    1. 时间局部性:现在访问的地址,不久之后也很可能被再次访问
    2. 空间局部性:现在访问的地址,其附近的地址也很可能即将被访问
  3. 性能分析
    1. 命中率H:CPU欲访问的信息已在Cache中的比率
    2. 缺失(未命中)率:M = 1 - H
    3. 👩‍💻 两种方式
      1. 先访问Cache,发现未命中再访问主存
      2. 同时访问Cache和主存,若Cache命中则停止访问主存
  4. 其他概念
    1. 主存与Cache之间以“块”为单位进行数据交换
    2. 主存的“块”又叫“页/页框/页面”;Cache的“块”又叫“行”
    3. 主存地址可拆分为(主存块号,块内地址)的形式

 每次被访问的主存块,一定会被立即调入Cache

Cache-主存映射方式

Cache中存储的信息

  1. 有效位(0/1)+ 标记 + 整块数据
  2. 其中“标记”用于指明对应的内存块,不同映射方式,“标记”的位数不同

全相联映射

  1. 主存块可以放到Cache的任意位置
  2. 主存地址结构:标记(整个主存块号)+ 块内地址
  3. 优点:Cache存储空间利用充分,命中率高;缺点:查找“标记”最慢,有可能需要对比所有行的标记

直接映射

  1. 主存块只能放到特定的某个Cache行,行号 = 主存块号 % 总行数
  2. 主存地址结构:标记(主存块号前几位)+ 行号(主存块号末几位)块内地址
  3. 优点:对于任意一个地址,只需对比一个“标记”,速度最快;缺点:Cache存储空间利用不充分,命中率低

组相联映射

  1. 主存块可以放到特定分组中的任意位置,所属组号 = 主存块号 % 总组数
  2. 主存地质结构:标记(主存块号前几位)+ 组号(主存块号末几位)块内地址
  3. 优点:另外两种方式折中,综合效果较好
  4. 术语:n路组相联映射——每n各Cache行为一组

Cache替换算法

  1. 随机算法(RAND)
    1. 随便选一个主存块替换
    2. 过于Freestyle,效果很差
  2. 先进先出算法(FIFO)
    1. 优先替换最先被调入Cache的主存块
    2. 不遵循局部性原理,效果差
  3. 👩‍💻 近期最少使用(LRU)
    1. 将最久没有被访问过的主存块替换。每个Cache行设置一个“计数器”(Cache块的总数=2^n,则计数器只需n位),用于记录多久没有被访问
    2. 基于“局部性原理”,近期被访问过的主存块,在不久的将来也很有可能被再次访问,因此淘汰最久没被访问过的块是合理的。LRU算法的实际运行效果优秀,Cache命中率高。
  4. 最不经常使用(LFU)
    1. 将被访问次数最少的主存块替换。每个Cache行设置一个“计数器”,用于记录被访问过多少次
    2. 曾经被经常访问的主存块在未来不一定会用到,LFU实际运行效果不好

Cache写策略

非写分配法通常与全写法合用,写分配法通常和回写法合用

  1. 写命中
    1. 全写法(直写法,write-through):当CPU对Cache写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲(write buffer)
    2. 回写法(write-back):当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存
  2. 写不命中
    1. 写分配法(write-allocate):当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。
    2. 非写分配法(not-write-allocate):当CPU对Cache写不命中时只写入主存,不调入Cache
  3. 多级Cache:现代计算机通常采用多级Cache结构,各级Cache间常采用“全写法+非写分配法”,Cache和主存间常采用“写回法+写分配法”

相关文章:

25考研计算机组成原理复习·3.5高速缓冲存储器

高速缓冲存储器Cache 工作原理:将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾局部性原理 时间局部性:现在访问的地址,不久之后也很可能被再次访问空间局部性:现在访问的地址,其附近的地址也很可…...

餐厅管理系统

目录 一、 系统简介 1.1需求分析 1.2 编程环境与工具 二、 系统总体设计 2.1 系统的功能模块图。 2.2 各功能模块简介。 三、 主要业务流程 (1)用户及管理员登录流程图 (2)信息添加流程 (3&#xf…...

杭州百腾教育科技 TiDB 6.5 to 7.5 升级记录

作者: reAsOn2010 原文来源: https://tidb.net/blog/612103f3 背景 使用 TiDB 作为我们的全量数据库已经有六七年了,当时还是 2.0 版本。早期TiDB的迭代和新特性的发布对于实际使用的影响还是很大的,所以从那个时候开始就有每…...

Redis的缓存穿透、击穿、雪崩

目录 缓存穿透 定义: 解决方法: 缓存击穿 定义: 解决方案: 缓存雪崩 定义: 解决方案: 缓存穿透、缓存击穿和缓存雪崩的区别 缓存穿透 定义: 查询一个不存在的数据,数据库未…...

【Django开发】前后端分离django美多商城项目第1篇:欢迎来到美多 项目主要页面介绍【附代码文档】

本教程的知识点为: 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计: 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后…...

【软件造价咨询】信息化项目预算评审看什么?

在信息化项目预算评审中,各方往往只重视预算金额部分,而忽视了项目建设的全局性和整体性把关,导致信息系统的重复建设、分散建设、业务和系统两张皮、重功能轻数据、重投资轻方案等问题频出,从而大幅降低财政投资效益。 例如&…...

第37讲:Cephfs文件系统的正确使用姿势

文章目录 1.Cephfs文件系统简介2.Cephfs文件系统细节介绍2.1.Cephfs文件系统多客户端隔离挂载2.2.Ceph集群中多个Cephfs如何单独使用 3.挂载多个Cephfs文件系统4.Cephfs文件系统多客户端隔离挂载实战4.1.创建一个Cephfs文件系统4.2.将Cephfs文件系统挂载到本地路径4.3.在Cephfs…...

单片机烧录

在设计芯片的时候,关于烧录的环节是一个不得不考虑的问题。 我们首先排除掉,由外部直接硬件操控FLASH 的方案,这个方案有很多缺点。 1、每个IC使用的FLASH型号是各不相同的,每种型号的FLASH的烧录命令和流程都有差别,这…...

mysql实现分布式锁

利用数据库的悲观锁实现分布式锁,实际应用中要考虑mysql的高可用。 DistributedLock.h #ifndef DistributedLock_H_ #define DistributedLock_H_// // DistributedLock.h: // #include "base/MySQLDriver.h" class CDistributedLock { public://// Construction/D…...

MySQL快速使用

关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库 特点:使用表存储数据,格式统一方便维护;使用SQL语言操作,标准统一使用方便 通用语法: …...

LeetCode41.缺失的第一个正数

1. 题目大意 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 2. 思路分析 示例 1: 输入:nums [3,4,-1,1] 输出:2 解释&#xff1…...

ee trade:黄金投资与股票投资的区别

黄金和股票, 是金融市场中两种常见的投资工具, 它们拥有截然不同的特点和风险, 了解它们的差异, 可以帮助投资者制定更合理的投资策略。 一、 投资性质: 避险与成长, 两种投资方向 黄金: 被视…...

AI视频创作原理

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…...

idea vue项目删除node_modules时报文件损坏且无法读取,导致删除失败

解决办法,查看node_modules所在盘,右击点击属性-工具,点击检查驱动,查完后修复即可, 就能够成功删除损坏的文件了...

Linux下编译安装-单机模式

1.1 Linux下编译安装-单机模式 1.1.1 安装 (1).把安装包放在Linux文件系统下 (2).解压缩 tar -zxf redis-4.0.2.tar.gz (3).切换到解压后的目录 cd redis-4.0.2(4).编译 make(5).进入到src目录 cd src(6).执行安装 make install(7) .返回上级目录 cd .. (8) .修改配置&…...

RSSI定位算法

文章目录 一、定位算法简介1.1. 定位技术原理1.2. 定位算法二、RSSI测距原理2.1. 建模与测量终端到基站的距离三、定位3.1. 三边定位算法3.2. 加权三边定位算法3.3. 加权三角形质心定位算法3.4. 程序定位算法的执行流程一、定位算法简介 1.1. 定位技术原理 定位终端接收到iBe…...

布局管理(Layouts)-Qt-思维导图-学习笔记

布局管理(Layouts) Qt 提供了非常丰富的布局类,主要包括以下基本布局管理类 QBoxLayout 提供了水平和垂直的布局管理,可以将子部件按行或列排列。根据排列方向的不同,QBoxLayout 分为 QHBoxLayout(水平布局)和 QVBox…...

《区块链赋能游戏业:破解虚拟资产交易与确权难题》

在当今数字化的时代,游戏行业正以前所未有的速度发展,虚拟资产在游戏中的重要性日益凸显。然而,虚拟资产的交易和确权问题一直困扰着游戏开发者和玩家。随着区块链技术的引入,为解决这些问题带来了新的曙光。 首先,我…...

机器学习第十一章-特征选择与稀疏学习

11.1子集收集与评价 属性称为"特征" ,对当前学习任务有用的属性称为"相关特征" 、没什么用的属性称为"无关特 征" . 从给定的特征集合中选择出相关特征于集的过程,称为"特征选择"。 特征选择是一个重要的"…...

C#中客户端直接引用服务端Proto文件

gRPC 客户端是从 .proto 文件生成的具体客户端类型。 具体 gRPC 客户端具有转换为 .proto 文件中 gRPC 服务的方法。 下一步打开【服务引用】 控制面板 选择grpc选项,然后继续 到此配置完成,然后就和服务共用一份protocol文件...

从‘能工作’到‘优秀’:手把手教你为你的Buck/Boost电路挑选和优化MOSFET驱动

从‘能工作’到‘优秀’:手把手教你为Buck/Boost电路挑选和优化MOSFET驱动 在开关电源设计中,MOSFET的选择和驱动优化往往是决定整体效率的关键因素。许多工程师能够设计出"能工作"的电路,但要达到"优秀"的性能指标&…...

从Blender到虚幻引擎:除了FBX,试试GLTF格式导入的完整流程与优势对比

从Blender到虚幻引擎:GLTF格式导入的完整流程与优势解析 在三维内容创作领域,Blender与虚幻引擎的组合已经成为许多专业团队的标准工具链。当我们需要将精心制作的模型从Blender迁移到虚幻引擎时,传统的FBX格式虽然广为人知,但GLT…...

OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现

第一章:OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中,OpenCV常被用作图像预处理的核心工具,但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...

10X探头隐藏技能:除了衰减信号,它如何用补偿电容拯救你的高频测量?

10X探头的高频测量奥秘:补偿电容如何成为信号保真的关键 在电子测量领域,示波器探头是工程师们不可或缺的工具,而10X探头凭借其独特的设计在高频测量中展现出无可替代的优势。本文将深入探讨10X探头内部补偿电容的工作原理,揭示它…...

OpenClaw对接nanobot镜像:低成本实现本地AI助手自动化任务

OpenClaw对接nanobot镜像:低成本实现本地AI助手自动化任务 1. 为什么选择OpenClawnanobot组合 去年夏天,当我第一次尝试用AI自动化处理日常工作时,发现大多数方案要么需要昂贵的云服务API调用,要么对硬件要求极高。直到遇到Open…...

3步搞定Google Drive受保护PDF:高效下载完整指南

3步搞定Google Drive受保护PDF:高效下载完整指南 【免费下载链接】Google-Drive-PDF-Downloader 项目地址: https://gitcode.com/gh_mirrors/go/Google-Drive-PDF-Downloader 你是否曾遇到过这样的情况?在Google Drive中找到一个急需的技术文档或…...

Avalonia跨平台开发踩坑记:我的第一个带最小化/关闭按钮的MVVM应用

Avalonia跨平台开发实战:从零构建MVVM窗口控制应用 第一次接触Avalonia时,我被它"一次编写,多平台运行"的承诺所吸引。作为一个长期使用WPF的开发者,跨平台桌面应用开发一直是个痛点。但当我真正开始用Avalonia实现一个…...

2026年网络安全报告

2026年网络安全报告 2026年网络安全报告分析了2025年全球网络威胁形势,指出攻击速度和规模加快,人工智能、身份滥用等技术被攻击者整合,同时预测了2026年行业趋势并给出首席信息安全官建议。 网络安全趋势 不止电子邮件:多渠道…...

保姆级教程:ROS1/ROS2下rosbag录制与播放的10个实战技巧(含脚本与launch文件)

ROS1/ROS2高效数据管理:rosbag录制与播放的工程化实践指南 第一次接触rosbag时,我花了整整三天时间才搞明白为什么录制的数据总是无法正常播放。当时在实验室调试移动机器人,每次测试都要重新跑一遍完整流程,效率低得令人抓狂。直…...

如何高效使用抖音批量下载器:3分钟快速上手完整指南

如何高效使用抖音批量下载器:3分钟快速上手完整指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为手动保存抖音视频而烦恼吗?每次看到喜欢的合集都要一个个点击分享保存&…...