在 CPU 需要读写指令和数据时,送出的是指令和数据的主存地址,为了从 Cache 存储器中读写信息,必须采用某种方法把主存地址转换为 Cache 存储器的地址,称为地址映象。

地址映射方式有全相联映象方式、直接映象方式,组相联映象方式和段相联映象四种。 
(1) 全相联映象方式: 将主存中的一个块直接拷贝到 Cache 中任意一块上, Cache 的数据块大小与主存的数据块存储的数据量大小相等。 
优点:主存的块调入 Cache 中的位置不受限制,所以冲突率最低,空间利用率高 
缺点:无法从主存地址中直接获得 Cache 的块号,地址变换复杂,速度较慢。 
—————————————————————— 
(2) 直接映象方式: 是一个主存块只能直接拷贝到 Cache 的一个固定的位置上去, 
优点:地址变换很简单,访问速度快,硬件简单。 
缺点:不同区的相同块号不能同时放进 Cache,即便 Cache 内有空闲块,所以冲突率最大。出现大量空闲块,很少使用 
—————————————————————— 
(3)组相联方式: 是前两种方式的折衷,是将主存中的区和 Cache 中的块再分成组。主存的每个区和 Cache 的大小一样,将主存中每个区和 Cache 中再分为同样组数。这里规定主存中的组和缓存中的组采取直接映像方式,即主存中任何区的 0 组只能放存放到 Cache 中的 0 组, 1 组只能存放到 Cache 中 1 组,而每个组内的块采取全相连映像方式。即主存一组内的块可任意存到 Cache 相应组号内的任意块中。既具备了直接映像方式的简单和速度快的优点,同时也很好的降低了冲突率。即冲突率比直接映像方式低,但比全相联映象方式高。 
优点: 
块的冲突概率比较低 
块的利用率大幅度提高 
块失效率明显降低

缺点:实现难度和造价要比直接映象方式高 
——————————————————————

(4)段相联映象 
组间全相联,组内直接映象。 
减少相联目录表的容量,降低成本,提高地址变换速度 
————————————————————————

Cache 的地址映像方式(4种)相关推荐

  1. Cache(高速缓存)的三种地址映像方式

    1.直接映像方式 直接相连映像:每一个内存区都是和一个Cache块相对应的,也就是说,Cache块里有多少块,一个内存区里就有多少Cache块,每一块都是相互对应的.假设cache里有32块,那么内存 ...

  2. Cache与主存的地址映像

    Cache与主存的地址映像 Cache 和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和 Cache 的数据交换是以块为单位. 地址映像 把主存地址空间映像到 Cache 地址空间,即按 ...

  3. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  4. 微指令地址的形成方式_交换那些事儿 | 基础维护篇 IPv6地址分类及配置方法

    IPv6地址分类及配置方法 H3C交换机基础维护篇 何为IPv6 随着网络的不断扩大和发展,IPv4的地址空间已不能满足需求,因此IPv6协议的应用越来越广泛.那么IPv6地址是如何规范和配置的呢,今 ...

  5. Cache的地址结构,tag到底与Cache什么关系,Cache容量与总容量,Cache行长,Cache字地址?

    目录.Cache映射的问题 一.Cache的三种映射 重点:那么我说 1.直接映射 2.全相联映射 3.组相联映射 4.总结三种映射 二.Cache的三个字眼(例题) 1.Cache字地址多少位(字地 ...

  6. 西门子PLC地址的分配方式有哪些?

    根据不同的plc配置确定输入输出地址是plc编程的前提和基础.程序中的地址必须与实际的物理连接点一一对应,以确保动作的正确执行. 当选择PLC时,首先要确定的是系统中每个I/O点的绝对地址.在西门子S ...

  7. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    页面传值--最佳答案6种方式: 一. 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全 ...

  8. mysql数据库启动_MySQL数据库之Mysql启动的方式(四种)

    本文主要向大家介绍了MySQL数据库之Mysql启动的方式(四种) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 废话不多说了,直奔主题了. mysql的四种启动方式: 1.m ...

  9. mysql的binlog开启方式,查看方式.三种binlog模式介绍.以及使用binlog恢复数据.删除binlog

    判断MySQL是否已经开启binlog SHOW VARIABLES LIKE 'log_bin'; 查看MySQL的binlog模式 show global variables like " ...

最新文章

  1. React接入Sentry.js
  2. jQuery的attr方法处理checkbox的问题
  3. iOS-项目打包为ipa文件
  4. 自定义View实现Canvas炫酷效果
  5. 运行txt文本也可能中毒!微软急修“文本病毒”漏洞
  6. html5该怎么样学习?零基础入门HTML5学习路线
  7. IntelliJ IDEA中打开项目时用 Import Project(导入项目) 和 Open(打开项目) 的区别
  8. ES5 和ES6 继承机制
  9. [深度学习-TF2实践]应用Tensorflow2.x训练DenseNet模型在Cifar10数据上,测试集准确率90.07%
  10. 第十章:在Spark集群上掌握比较重要的图操作之Computing Degree
  11. 最常见的5个导致节点重新启动、驱逐或 CRS 意外重启的问题
  12. ABAP 内表(internal table) 标题行(header line) 工作区(work area) 简介 - [SAP]
  13. Visual Studio 开源控件扩展 NuGet 常用组件安装命令
  14. 各个浏览器兼容性问题积累
  15. Mac用Homebrew安装libimobiledevice
  16. 【总结】学堂云慕课-如何写好科研论文
  17. 测试电脑整机功耗软件,有什么好的测电脑整机功耗的软件吗?
  18. JACTF misc wp
  19. Vue 点击事件写法
  20. C# Parellel.For 和 Parallel.ForEach

热门文章

  1. 玩转微信 | 炫酷的聊天满屏掉爱心系列,赶紧收藏
  2. AndroidStudio子线程更新UI的几种方式
  3. mysql 查询当月天数
  4. SDN北向接口之REST API
  5. 数据结构与算法笔记:分治策略之Greatest Slice,2-Way Merge,Counting Inversions,linearSelect,Diameter,Closest Pair
  6. STM32之RGB灯仿真
  7. 彻底搞懂编码ASCII、Unicode、GBK 和 UTF8 、UTF-16、UTF-32编码方式(非常经典)
  8. jest 客户端 实现 Sliced+Scroll并行查询
  9. Python 【哔哩哔哩】短视频的自动上传与发布实例演示,,同时支持抖音、快手、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
  10. Setup Factory导入注册表时丢失部分语句