Cache与主存的三种映射
直接映射
主存储器中一块只能映射到Cache的一个特定的块中。
具体步骤:
主存与高速缓存分成相同大小的数据块,主存容量是缓存容量的整数倍
将主存空间按照缓存的容量分成区,主存中每一区的块数与缓存中总块数相等
主存中某区的一块存入缓存时只能存入缓存中指定的位置,如果指定位置已被其他块的数据占用,则直接覆盖。
优点:最简单的地址映射方式,硬件简单,成本低,地址变换速度快,而且不涉及算法替换问题。
缺点:不够灵活,Cache的存储空间得不到充分利用,每个主存块只有一个固定位置可存放,容易产生冲突,Cache淘汰换出频繁,需要频繁的从主存读取数据到Cache,使得Cache效率下降。
全相联映射
主存储器的任意一块可以映射到Cache中的任意一块。
具体步骤:
主存与高速缓存分成相同大小的数据块
主存中的某一数据可以装入空闲高速缓存块的任意一块中,如果主存数据块已满,可以根据LRU替换算法或者随机替换算法替换其中一块。
**优点:**比较灵活,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块。
**缺点:**由于Cache比较电路的设计和实现比较困难,这种方式只适合于小容量Cache采用。
组相联映射
直接映射和全相连映射的折中方案。
**具体步骤:**主存和Cache都分组,主存中一个组内的块数和Cache中的分组数相同,组间采用直接映射,组内采用全相连映射。
**优缺点:**是前两种方法的折中方案,兼顾二者的优点,尽量避免二者的缺点,因而得到普遍采用。
Cache与主存的三种映射相关推荐
- Cache与主存的三种地址映射详细解读
前言 我们知道,Cache又叫做高速缓冲存储器, 它保存的是主存中的一部分数据.当CPU要访问数据时,它会同时发送地址给Cache和主存,如果在Cache中找到了想要的数据,则由Cache直接返回数据 ...
- 计算机组成原理(3)三级存储 局部性原则 存储器性能指标 扩展 DRAM编址方式 cache 三种映射 替换策略
三级存储 RAM,随机存储 ROM,只读存储 ,MROM,PROM不可编程,可编程 EPROM,E^2PROM 紫外,电 擦除 三级存储内存,cache,外存 局部性原则 时间局部性:一条指令或数据, ...
- Cache超清晰逻辑详解(cache的三种映射)
在说之前要向大家安利一个网站,http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html,这是马萨诸塞大学安姆斯特分校的体系 ...
- python序列类型包括哪三种映射类型_Python序列类型包括字符串、列表和元组三种,列表是Python中唯一的映射类型...
Python序列类型包括字符串.列表和元组三种,列表是Python中唯一的映射类型 更多相关问题 [填空题] 秦以后的地方基本建制为().但西汉因分封形成了(). [单选] 药物过敏性口炎的临床特征为 ...
- python序列类型包括哪三种映射类型_python序列类型包括哪三种_后端开发
python中表达式4+0.5值的数据类型为?_后端开发 python中表达式4+0.5值的数据类型为浮点型,因为4是整型,0.5是浮点型,在python中规定整型和浮点型相加,结果是浮点型,这是为了 ...
- python序列类型包括哪三种映射类型_python序列类型包括哪三种
python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加: ...
- 3.6.3 Cache和主存的映射方式
棒棒哒加油哦 (*^▽^*) 在这个小学中我们要学习cache和主存的三种映射方式,那上小杰的没为我们留下了这样的几个问题,由于开始他保存的是储存里边的某一些数据块的副本,那么我们必须考虑到的一个问题 ...
- (计算机组成原理)第三章存储系统-第六节2:Cache和主存的映射方式(全相联映射、直接映射和组相连映射)
文章目录 一:全相联映射 二:直接映射 三:组相连映射 前面说过,Cache中实际保存的是主存中的数据副本,所以这里会涉及一个很重要的问题:Cache和主存是如何映射的?所谓映射是指把主存地址空间映射 ...
- cache三种映射方式
主存与cache的地址映射方式有全相联方式.直接方式和组相联方式三种. 直接映射(directmapping) 将一个主存块存储到唯一的一个Cache行. 全相联映射(fullyassociative ...
最新文章
- 2021年两院增选149名院士:最小45岁,浙大5人入选
- 服务化的未来--ServiceMesh?
- 【AwayPhysics学习笔记】:Away3D物理引擎的简介与使用
- LaTeX生成word的DOCX格式 latex to word 基于LaTex+VSCode+MAC
- 初创科技公司都采用什么样的技术架构?
- tomcat - JVM 配置
- 金古桥机器人_《泽塔奥特曼》奥特曼憋屈了,被机器人保护,金古桥可能才是主角...
- APACHE的简单应用一
- MySQL-InnoDB-MVCC多版本并发控制 剖析
- 《HTML5游戏编程核心技术与实战》——2.5 绘制文字
- CocoaPods管理第三方
- opencv 图像阈值 二值化处理
- oracle 查询入职年限,计算入职年限员工人数占总人数的百分比
- 蓝牙、Wi-Fi音箱音频功放
- node.js学习笔记之简洁聊天室
- Microblaze程序固化流程
- 领英大数据:经济寒冬,“全思维IT工程师”成企业新宠
- Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等
- 多链跨链、高可用、高安全性的区块链应用如何落地? 金链盟大赛10强揭晓
- 用ENSP华为模拟器配置一个完整的校园网
热门文章
- db2分页查询语句优化_面试官:数据量很大,分页查询很慢,怎么优化?
- linux添加怎么退出,linux – 是否可以设置’expect’的退出代码
- 室外排水设计规范_XXZG排水汇集器完美解决LOFT公寓卫生间排水难题
- linux下用js生成xml文件,使用JS读取XML文件的方法
- java documentlistener_java在DocumentListener中更改文档
- 计算机的诊断策略服务怎么打开,win7系统使用诊断策略服务提示“未运行”怎么解决...
- 成功解决_catboost.CatBoostError: Invalid cat_features[4] = 8 value: index must be < 8.
- ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
- Keras之DNN:利用DNN【Input(8)→(12+8)(relu)→O(sigmoid)】模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测
- DL之GAN:生成对抗网络GAN的简介、应用、经典案例之详细攻略