计组复习-cache
Cache的复习
- Cache,又名高速缓存器,是为了协调CPU和主存的速度而出现的一种高速的,小的存储器。
Cache主要由两部分组成,一部分是一个存储器,另一部分是一个地址变换与映射表,这个映射表完成了最重要的功能,将主存地址转换成Cache地址。
具体的实施过程是cpu拿到主存地址,去Cache里找有没有,有的话称为命中,转换地址,没有的话就从主存里读取。
- 根据这个寻找的过程对地址映射进行分类
- 全相联地址映射
对主存和Cache地址都进行分块,主存中一块存储可以装进Cache里任意一块地方
缺点:在Cache里查找起来比较麻烦,需要遍历
- 直接地址映射
对主存进行分区再分块,在不同的区里存在相同的块号,区的长度与Cache分块后的数目相同。主存中每个与Cache相同的块号都可以填装,是多对一的关系
缺点:如果有相同块号不同区的块需要频繁更替访问,即使Cache中有其他的空闲块也不能用
- 组相联地址映射
对主存分区再分块,对Cache分路再分组和块
采用组间直接地址映射,组内全相联的方式
优点:结合二者的一个的输入的方便和另一个的不浪费
- 替换算法
替换算法的核心是替换后对命中率的影响,理想状态是OPT,在假设已知未来的情况下,替换掉那个未来最不会使用的,其他的都是在过去的基础上进行修正
FIFO(先进先出),RAND(随机),OPT(最优选择)
LRU(最近最少使用):从现在往前看,以使用的时间为标准,越近越不会被替换
LFU(最不频繁使用):从现在往前看,使用频率最高的最不会替换,频率一样,参见LRU
- 更新策略
更新策略的前提是主存和Cache的一致性,但是CPU可以修改Cache的数据,所以我们提出的方法是写入主存
写回法:在修改块被替换时写回主存
写直达法:修改Cache时也修改主存
- 性能指标
- 命中率
h/hc
- 平均访问时间
T=h*Tc+(1-h)*(Tc+Tm)
- 加速比
S=Tm/T
计组复习-cache相关推荐
- 计组复习(四):cache,虚拟内存,页表与TLB
目录 前言 cache高速缓存 直接映射 全相连映射 组相连映射 多级 cache 的 CPI 计算 指令缓存与数据缓存 虚拟内存(重要⚠) 页表 缺页 替换 TLB 例题(重要⚠) FastMath ...
- 计组复习(二):单周期数据通路与控制信号
目录 前言 单周期数据通路 算数逻辑指令(R 型指令) 取指令阶段 译码阶段 执行阶段 内存访问阶段 写回阶段 下一条指令 内存访问指令 分支跳转指令 总结(重要⚠) 前言 昨天复(yu)习了:计组复 ...
- 计组—缓存Cache
缓存 通过大量统计发现了一个访问规律:程序对存储空间90%的访问局限于存储空间的10%的区域中,另外10%的访问则分布在存储空间的90%区域中.(即:存储器10%的存储空间是高频访问区,90%的存储空 ...
- 【计组】Cache 全相连 组相联 直联
文章目录 基础知识 全相联映射 组相联映射 直接映射 主存与Cache的地址映射 例题 基础知识 按照字节编址:1B对应一个地址,16B对应4个地址,(16B/1B=2^4)2的20次方是1MB对应2 ...
- 计组 | 【Cache】主存映射cache容量及cache写策略
预备知识 1.cache的产生背景 在多体并行存储器中讲过,外部设备的优先级最高,这样就会导致CPU等待外部设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率 ...
- 计组复习(一):乘法器,除法器与浮点加法器
目录 前言 乘法器 优化乘法器 除法器 优化除法器 浮点加法器(重要⚠) 对阶阶段 加法阶段 规格化阶段 舍入阶段 浮点加法小结 前言 zsbd Orz 乘法器 普通乘法器模拟竖式乘法的计算过程. 每 ...
- 【计组复习(二)指令】
考点概述:1.指令设计原则:2.RISC.CISC:3.寻址方式(重点):4.子函数调用:5.链接. 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器中. 硬件设计四条基本原则 1.简单源于 ...
- 计组之存储系统:5、cache(cache功能、cache工作原理、cache性能分析)
5.cache 思维导图 为什么要cache? Cache的工作原理 局部性原理 性能分析(加入cache) 空间局部性中的"附近"怎么定义? 待解决的问题? 思维导图 为什么要c ...
- 【王道计组笔记】Cache高速缓存基本工作原理
缓存器 的引入: [王道计组笔记]高速缓存器:局部性原理及性能分析_muse_age的博客-CSDN博客 1.主存的块放到Cache中哪个位置?CPU向缓存中读取一个数据过程? (1)空位随意放:全相 ...
最新文章
- 腾讯英特尔联手推出实时视频美颜方案
- HDU - 1542 Atlantis(线段树+扫描线)
- 相邻位数字差值的绝对值不能超过_热点争议中技术问题,伺服控制有几个零点?对应真绝对值多圈编码器意义...
- arraychangekeycase php,浅谈php数组array_change_key_case() 函数和array_chunk()函数
- react.js从入门到精通(六)——路由的使用
- extern 声明函数和定义函数
- synchronized工作原理剖析(二)
- java 原子量_Java多线程-新特征-原子量
- soliworks三维机柜布局(二)创建设备位置
- 设置两个路由器无线桥接
- Jira BigPicture结合KanBan跟踪项目执行实践分享
- h2o机器学习算法框架学习总结
- c语言中取小数函数,C / C++ 保留小数函数(setprecision(n)的一些用法总结)
- Android平台版本-API级别与版本号对照表,移动开发技术导论答案
- Required field ‘client_protocol‘ is unset 原因探究
- 一战赚了1090亿,恐怖的头条CEO张一鸣!
- 1-1 一摞有风格的纸牌之一摞
- 使用Kindle4rss推送自己感兴趣的博文
- P4 compiler(p4factory) 的安装和使用
- 转:windows.DNS.如何用自己的服务器做 DNS 域名解析,如何创建域名服务器?