Cache的复习

  1. Cache,又名高速缓存器,是为了协调CPU和主存的速度而出现的一种高速的,小的存储器。

Cache主要由两部分组成,一部分是一个存储器,另一部分是一个地址变换与映射表,这个映射表完成了最重要的功能,将主存地址转换成Cache地址。

具体的实施过程是cpu拿到主存地址,去Cache里找有没有,有的话称为命中,转换地址,没有的话就从主存里读取。

  1. 根据这个寻找的过程对地址映射进行分类

    1. 全相联地址映射

对主存和Cache地址都进行分块,主存中一块存储可以装进Cache里任意一块地方

缺点:在Cache里查找起来比较麻烦,需要遍历

  1. 直接地址映射

对主存进行分区再分块,在不同的区里存在相同的块号,区的长度与Cache分块后的数目相同。主存中每个与Cache相同的块号都可以填装,是多对一的关系

缺点:如果有相同块号不同区的块需要频繁更替访问,即使Cache中有其他的空闲块也不能用

  1. 组相联地址映射

对主存分区再分块,对Cache分路再分组和块

采用组间直接地址映射,组内全相联的方式

优点:结合二者的一个的输入的方便和另一个的不浪费

  1. 替换算法

替换算法的核心是替换后对命中率的影响,理想状态是OPT,在假设已知未来的情况下,替换掉那个未来最不会使用的,其他的都是在过去的基础上进行修正

FIFO(先进先出),RAND(随机),OPT(最优选择)

LRU(最近最少使用):从现在往前看,以使用的时间为标准,越近越不会被替换

LFU(最不频繁使用):从现在往前看,使用频率最高的最不会替换,频率一样,参见LRU

  1. 更新策略

更新策略的前提是主存和Cache的一致性,但是CPU可以修改Cache的数据,所以我们提出的方法是写入主存

写回法:在修改块被替换时写回主存

写直达法:修改Cache时也修改主存

  1. 性能指标

    1. 命中率

h/hc

  1. 平均访问时间

T=h*Tc+(1-h)*(Tc+Tm)

  1. 加速比

S=Tm/T

计组复习-cache相关推荐

  1. 计组复习(四):cache,虚拟内存,页表与TLB

    目录 前言 cache高速缓存 直接映射 全相连映射 组相连映射 多级 cache 的 CPI 计算 指令缓存与数据缓存 虚拟内存(重要⚠) 页表 缺页 替换 TLB 例题(重要⚠) FastMath ...

  2. 计组复习(二):单周期数据通路与控制信号

    目录 前言 单周期数据通路 算数逻辑指令(R 型指令) 取指令阶段 译码阶段 执行阶段 内存访问阶段 写回阶段 下一条指令 内存访问指令 分支跳转指令 总结(重要⚠) 前言 昨天复(yu)习了:计组复 ...

  3. 计组—缓存Cache

    缓存 通过大量统计发现了一个访问规律:程序对存储空间90%的访问局限于存储空间的10%的区域中,另外10%的访问则分布在存储空间的90%区域中.(即:存储器10%的存储空间是高频访问区,90%的存储空 ...

  4. 【计组】Cache 全相连 组相联 直联

    文章目录 基础知识 全相联映射 组相联映射 直接映射 主存与Cache的地址映射 例题 基础知识 按照字节编址:1B对应一个地址,16B对应4个地址,(16B/1B=2^4)2的20次方是1MB对应2 ...

  5. 计组 | 【Cache】主存映射cache容量及cache写策略

    预备知识 1.cache的产生背景 在多体并行存储器中讲过,外部设备的优先级最高,这样就会导致CPU等待外部设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率 ...

  6. 计组复习(一):乘法器,除法器与浮点加法器

    目录 前言 乘法器 优化乘法器 除法器 优化除法器 浮点加法器(重要⚠) 对阶阶段 加法阶段 规格化阶段 舍入阶段 浮点加法小结 前言 zsbd Orz 乘法器 普通乘法器模拟竖式乘法的计算过程. 每 ...

  7. 【计组复习(二)指令】

    考点概述:1.指令设计原则:2.RISC.CISC:3.寻址方式(重点):4.子函数调用:5.链接. 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器中. 硬件设计四条基本原则 1.简单源于 ...

  8. 计组之存储系统:5、cache(cache功能、cache工作原理、cache性能分析)

    5.cache 思维导图 为什么要cache? Cache的工作原理 局部性原理 性能分析(加入cache) 空间局部性中的"附近"怎么定义? 待解决的问题? 思维导图 为什么要c ...

  9. 【王道计组笔记】Cache高速缓存基本工作原理

    缓存器 的引入: [王道计组笔记]高速缓存器:局部性原理及性能分析_muse_age的博客-CSDN博客 1.主存的块放到Cache中哪个位置?CPU向缓存中读取一个数据过程? (1)空位随意放:全相 ...

最新文章

  1. 腾讯英特尔联手推出实时视频美颜方案
  2. HDU - 1542 Atlantis(线段树+扫描线)
  3. 相邻位数字差值的绝对值不能超过_热点争议中技术问题,伺服控制有几个零点?对应真绝对值多圈编码器意义...
  4. arraychangekeycase php,浅谈php数组array_change_key_case() 函数和array_chunk()函数
  5. react.js从入门到精通(六)——路由的使用
  6. extern 声明函数和定义函数
  7. synchronized工作原理剖析(二)
  8. java 原子量_Java多线程-新特征-原子量
  9. soliworks三维机柜布局(二)创建设备位置
  10. 设置两个路由器无线桥接
  11. Jira BigPicture结合KanBan跟踪项目执行实践分享
  12. h2o机器学习算法框架学习总结
  13. c语言中取小数函数,C / C++ 保留小数函数(setprecision(n)的一些用法总结)
  14. Android平台版本-API级别与版本号对照表,移动开发技术导论答案
  15. Required field ‘client_protocol‘ is unset 原因探究
  16. 一战赚了1090亿,恐怖的头条CEO张一鸣!
  17. 1-1 一摞有风格的纸牌之一摞
  18. 使用Kindle4rss推送自己感兴趣的博文
  19. P4 compiler(p4factory) 的安装和使用
  20. 转:windows.DNS.如何用自己的服务器做 DNS 域名解析,如何创建域名服务器?

热门文章

  1. 小白的测试人生(三)小白如何进入IT行业及如何选择培训机构
  2. iOS bounds备忘
  3. c++ 双人五子棋(可直接复制)
  4. 《战国策》之《触龙说赵太后》
  5. 2020CTF笔记crypto部分
  6. 数据结构基础之迭代法归并排序
  7. Android实现平板的类股票列表联动
  8. php 爬取股票数据库,【实例】--股票数据定向爬取
  9. 力扣(66.67)补8.27
  10. python汇率换算程序_Python第六课 汇率兑换4.0