计算机组成原理之机器:存储器之高速缓冲存储器

计算机组成原理之机器:存储器之高速缓冲存储器

笔记来源:哈尔滨工业大学计算机组成原理(哈工大刘宏伟)

Chapter3:存储器之高速缓冲存储器

3.1 概述

3.1.1 为什么用cache?

角度一:I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/O设备访存的现象,致使CPU空等一段时间,降低CPU工作效率。为避免CPU与I/O设备争抢访存,可在CPU与主存之间加一级缓存,这样主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。—引自《计算机组成原理》唐朔飞

角度二:主存速度提高始终跟不上CPU的发展。希望由高速缓存cache来解决主存与CPU速度不匹配的问题—引自《计算机组成原理》唐朔飞

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

时间局部性:程序中的某条指令一旦执行,不久后该指令可能再次执行
空间局部性:一旦程序访问了某个存储单元,不久后其附近的存储单元也将被访问

3.1.2 cache的工作原理

主存和缓存的编址
为了与cache映射,将主存与缓存都分成若干块,每块内又包含若干个字,并使它们的块大小相同(即块内的字数相同)


命中与未命中

任何时刻都有一些主存块处在缓存块中。
CPU欲读取主存某字时,有两种可能:
命中:一种是所需要的字已在缓存中,即可直接访问Cache(CPU与Cache之间通常一次传送一个字);
未命中:另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与
主存之间是字块传送)。如果主存块已调入缓存块,则称该主存块与缓存块建立了对应关系。
—引自《计算机组成原理》唐朔飞


cache的命中率
我们都希望CPU对主存的访问尽可能都转化为对缓存的访问,也就是说我们希望命中率越高越好

cache-主存系统的效率

3.1.3 cache的基本结构

cache和主存之间是以块为单位进行数据传送的,cache和主存的块内地址一致,再看块号,根据映射规则,检查是否命中(CPU所访问的数据在cache中是否存在),如果命中,则形成cache的块号。如果未命中,则检查当前cache是否仍可装入块,若可装入,则将要访问的块装入cache,若没有空间装入,则将某一块与要访问的块进行替换,也就是将要访问的块从内存中调入,把cache中暂时不访问的块换下

主存与cache映射就是主存中的块应该放在cache的哪个位置
主存与cache变换就是主存的地址转换为cache的地址,在cache中找到相对应的主存块
主存与cache之间有直接通路,它完成了两者之间的信息交换

3.1.4 cache的读写操作


写操作可能会造成主存和cache数据的不一致,例如只对主存写而没有对cache写

3.1.5 cache的改进

(1)增加cache级数
CPU内部装cache、CPU外部装cache
(2)统一缓存和分立缓存
统一缓存:把指令和数据统一放在一个cache中
分立缓存:将指令和数据分别放在不同cache中

3.2 cache-主存的地址映射

3.2.1 直接映射(固定的映射关系)

主存当中任意一个给定的块只能装载到某一个指定的cache的块当中



每个区的第0块放到cache中字块0中,每个区的第1块放到cache中字块1中以此类推
主存地址分为两部分:低c位指cache的字块地址、高t位指主存字块标记,它被记录在建立了对应关系的缓存的“标记”位中。
当缓存接到CPU送来的主存地址后,只需根据中间c位字段找到cache字块(如c位字段为00……01找到cache字块1),然后根据字块的“标记”是否与主存地址的高t位相符来判断。

每个缓存块可以和若干个主存块对应
每个主存块只能和一个缓存块对应

3.2.2 全相联映射(灵活性大的映射关系)

主存的任何一个字块可放到任何一个cache字块中

3.2.3 组相联映射(上述两种映射的折中)

主存中每个区的第0块可以放到cache中第0组两个字块的任意一个

3.3 替换算法

当cache中已满且CPU要访问的数据不在其中,这时就需要将cache中某个块与主存中CPU要访问的块进行替换

先进先出(FIFO)算法
最先被放入cache中的块被替换
近期最少使用(LRU)算法
在cache中选择最⻓时间没有被CPU访问的块进行置
换,也就是说,该算法假设已经很久没有使用的块很有可能在未来较长的⼀段时间内仍然不会被使⽤

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

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

相关文章

Layer1 隐私安全项目 Partisia Blockchain 空投计划邀你瓜分 2500W 枚 MPC 奖励!

🛰️ Partisia 及基金会介绍 作为一个以 Web3 安全为技术方向的 Layer1 区块链,Partisia Blockchain 自 2021 年诞生之日起已完成了 3 项主要的技术创新。为了创建更安全、快速的数字基础设施,Partisia Blockchain 实现了 1 秒以内的快速交易…

macos docker baota 宝塔 搭建 ,新增端口映射

拉取镜像仅拉取镜像保存到本地,不部署容器,仅需拉取一次,永久存储到本地镜像列表 docker pull akaishuichi/baota-m1:lnmp 其他可参考:宝塔面板7.9.2docker镜像发布-集成LN/AMP支持m1/m2 mac版本 - Linux面板 - 宝塔面板论坛 运行…

CDN(内容分发网络):加速网站加载与优化用户体验

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Linux服务器安装jdk

背景: 安装JDK是我们java程序在服务器运行的必要条件,下面描述几个简单的命令就可再服务器上成功安装jdk 命令总览: yum update -y yum list | grep jdk yum -y install java-1.8.0-openjdk java -version 1.查看可安装版本 yum list | grep jdk 2.如果查不到可先进行 yum upd…

VBA中类的解读及应用第十讲:限制文本框的输入,使其只能输入数值(上)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

供应链管理系统(SCM):得供应链得天下不是空话。

2023-08-26 15:51贝格前端工场 Hi,我是贝格前端工场,优化升级各类管理系统的界面和体验,是我们核心业务之一,欢迎老铁们评论点赞互动,有需求可以私信我们 一、供应链对于企业的重要性 供应链对企业经营的重要性不可…

二叉树入门

这篇博客通过手动创建的一个简单二叉树,实现二叉树遍历,返回节点,叶子个数,查找结点等相关操作。 1. 二叉树的概念 二叉树不为空时,由根节点,左/右子树组成,逻辑结构如下,当二叉树…

智慧农业5G融合方案(2)

应用场景 农业航空 农业农村部资料显示,植保无人机具有机动灵活、喷施效率高、施药效果好等特点,能够克服复杂地形条件下地面喷雾机具进地难的问题。目前我国有400多家企业从事植保无人机研发、生产、销售等全产业链业务。主要机型以电动多旋翼为主。2018年作业面积约2.67亿…

sign加密方法生成

1. 引入包的问题 2. 原因 .pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新 3. 解决方法 --直接安装:pip install pycryptodome 3.但是,在使用的时…

日韩媒体宣传案例分析:CloudNEO 为您提供海外媒体宣传最佳途径

近年来,随着互联网的迅速发展和全球化的加速推进,海外市场对于企业的重要性日益凸显。尤其是在亚洲地区,日本和韩国作为亚洲最具活力和潜力的市场之一,成为众多企业争相开拓的目标。在这个过程中,媒体宣传不仅是企业推…

教你如何在公众号商城与小程序商城间做出明智之选

随着数字化时代的快速发展,微信公众号和小程序商城这两种电商解决方案各自展现了不同的魅力和挑战。对于计划自主搭建电商平台的用户而言,如何在这两者间作出明智的抉择,无疑是一个值得深思的问题。本文旨在剖析公众号商城和小程序商城的优劣…

Docker上部署LPG(loki+promtail+grafana)踩坑复盘

Docker上部署LPG(lokipromtailgrafana)踩坑复盘 声明网上配置部署踩坑 声明 参考掘金文章:https://juejin.cn/post/7008424451704356872 版本高的用docker compose命令,版本低的用docker-compose 按照文章描述,主要准备…