直接映射

主存储器中一块只能映射到Cache的一个特定的块中。

具体步骤:

  1. 主存与高速缓存分成相同大小的数据块,主存容量是缓存容量的整数倍

  2. 将主存空间按照缓存的容量分成区,主存中每一区的块数与缓存中总块数相等

  3. 主存中某区的一块存入缓存时只能存入缓存中指定的位置,如果指定位置已被其他块的数据占用,则直接覆盖。

优点:最简单的地址映射方式,硬件简单,成本低,地址变换速度快,而且不涉及算法替换问题。

缺点:不够灵活,Cache的存储空间得不到充分利用,每个主存块只有一个固定位置可存放,容易产生冲突,Cache淘汰换出频繁,需要频繁的从主存读取数据到Cache,使得Cache效率下降。

全相联映射

主存储器的任意一块可以映射到Cache中的任意一块。

具体步骤:

  1. 主存与高速缓存分成相同大小的数据块

  2. 主存中的某一数据可以装入空闲高速缓存块的任意一块中,如果主存数据块已满,可以根据LRU替换算法或者随机替换算法替换其中一块。

**优点:**比较灵活,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块。

**缺点:**由于Cache比较电路的设计和实现比较困难,这种方式只适合于小容量Cache采用。

组相联映射

直接映射和全相连映射的折中方案。

**具体步骤:**主存和Cache都分组,主存中一个组内的块数和Cache中的分组数相同,组间采用直接映射,组内采用全相连映射。

**优缺点:**是前两种方法的折中方案,兼顾二者的优点,尽量避免二者的缺点,因而得到普遍采用。

Cache与主存的三种映射相关推荐

  1. Cache与主存的三种地址映射详细解读

    前言 我们知道,Cache又叫做高速缓冲存储器, 它保存的是主存中的一部分数据.当CPU要访问数据时,它会同时发送地址给Cache和主存,如果在Cache中找到了想要的数据,则由Cache直接返回数据 ...

  2. 计算机组成原理(3)三级存储 局部性原则 存储器性能指标 扩展 DRAM编址方式 cache 三种映射 替换策略

    三级存储 RAM,随机存储 ROM,只读存储 ,MROM,PROM不可编程,可编程 EPROM,E^2PROM 紫外,电 擦除 三级存储内存,cache,外存 局部性原则 时间局部性:一条指令或数据, ...

  3. Cache超清晰逻辑详解(cache的三种映射)

    在说之前要向大家安利一个网站,http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html,这是马萨诸塞大学安姆斯特分校的体系 ...

  4. python序列类型包括哪三种映射类型_Python序列类型包括字符串、列表和元组三种,列表是Python中唯一的映射类型...

    Python序列类型包括字符串.列表和元组三种,列表是Python中唯一的映射类型 更多相关问题 [填空题] 秦以后的地方基本建制为().但西汉因分封形成了(). [单选] 药物过敏性口炎的临床特征为 ...

  5. python序列类型包括哪三种映射类型_python序列类型包括哪三种_后端开发

    python中表达式4+0.5值的数据类型为?_后端开发 python中表达式4+0.5值的数据类型为浮点型,因为4是整型,0.5是浮点型,在python中规定整型和浮点型相加,结果是浮点型,这是为了 ...

  6. python序列类型包括哪三种映射类型_python序列类型包括哪三种

    python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加: ...

  7. 3.6.3 Cache和主存的映射方式

    棒棒哒加油哦 (*^▽^*) 在这个小学中我们要学习cache和主存的三种映射方式,那上小杰的没为我们留下了这样的几个问题,由于开始他保存的是储存里边的某一些数据块的副本,那么我们必须考虑到的一个问题 ...

  8. (计算机组成原理)第三章存储系统-第六节2:Cache和主存的映射方式(全相联映射、直接映射和组相连映射)

    文章目录 一:全相联映射 二:直接映射 三:组相连映射 前面说过,Cache中实际保存的是主存中的数据副本,所以这里会涉及一个很重要的问题:Cache和主存是如何映射的?所谓映射是指把主存地址空间映射 ...

  9. cache三种映射方式

    主存与cache的地址映射方式有全相联方式.直接方式和组相联方式三种. 直接映射(directmapping) 将一个主存块存储到唯一的一个Cache行. 全相联映射(fullyassociative ...

最新文章

  1. 2021年两院增选149名院士:最小45岁,浙大5人入选
  2. 服务化的未来--ServiceMesh?
  3. 【AwayPhysics学习笔记】:Away3D物理引擎的简介与使用
  4. LaTeX生成word的DOCX格式 latex to word 基于LaTex+VSCode+MAC
  5. 初创科技公司都采用什么样的技术架构?
  6. tomcat - JVM 配置
  7. 金古桥机器人_《泽塔奥特曼》奥特曼憋屈了,被机器人保护,金古桥可能才是主角...
  8. APACHE的简单应用一
  9. MySQL-InnoDB-MVCC多版本并发控制 剖析
  10. 《HTML5游戏编程核心技术与实战》——2.5 绘制文字
  11. CocoaPods管理第三方
  12. opencv 图像阈值 二值化处理
  13. oracle 查询入职年限,计算入职年限员工人数占总人数的百分比
  14. 蓝牙、Wi-Fi音箱音频功放
  15. node.js学习笔记之简洁聊天室
  16. Microblaze程序固化流程
  17. 领英大数据:经济寒冬,“全思维IT工程师”成企业新宠
  18. Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等
  19. 多链跨链、高可用、高安全性的区块链应用如何落地? 金链盟大赛10强揭晓
  20. 用ENSP华为模拟器配置一个完整的校园网

热门文章

  1. db2分页查询语句优化_面试官:数据量很大,分页查询很慢,怎么优化?
  2. linux添加怎么退出,linux – 是否可以设置’expect’的退出代码
  3. 室外排水设计规范_XXZG排水汇集器完美解决LOFT公寓卫生间排水难题
  4. linux下用js生成xml文件,使用JS读取XML文件的方法
  5. java documentlistener_java在DocumentListener中更改文档
  6. 计算机的诊断策略服务怎么打开,win7系统使用诊断策略服务提示“未运行”怎么解决...
  7. 成功解决_catboost.CatBoostError: Invalid cat_features[4] = 8 value: index must be < 8.
  8. ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
  9. Keras之DNN:利用DNN【Input(8)→(12+8)(relu)→O(sigmoid)】模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测
  10. DL之GAN:生成对抗网络GAN的简介、应用、经典案例之详细攻略