【复习笔记】Cache的映像方法
注:写的时候忘记统一内存/主存的称呼,特别声明文中内存=主存。阅读本文建议画图辅助理解
Cache是什么
cache高速缓冲存储器一种特殊的存储器子系统,其中复制了主存中频繁使用的数据以利于快速访问。为了便于根据CPU送来的地址信息到Cache中去读取数据,必须有某种函数把主存地址映象成Cache地址。实现这种映象的函数叫映象函数。不同的映像函数有:
- 直接映像法
- 全相联映像法
组相联映象法
直接映像法
原则:
- 直接映象函数为i=j mod 2c ,其中i是Cache块号,j是主存块号, 2c为Cache总块数。
- 将主存分为若干区,每区容量与Cache总容量相等。每区块数与Cache的块数相同,这样,每区中第i块映射的位置就是Cache的第i块
维护一个块表,表的长度为Cache的块数(为了记录Cache中每块存的是主存的第几区),表中每个项目长度是主存区号的长度(为了存下块的编号)。在每次访问主存时查这个块表来对应访问Cache。
例:设主存容量为1MB,高速缓存容量为16KB,块的大小为512字节。采用直接地址映像法。
- 写出主存地址格式。
- 写出Cache地址格式。
- 块表的容量是多大。
画出直接方式地址映像及变换示意图。
解:
Cache块数=16KB/512B=32块
则主存每区为32块,共1MB/16KB=64区
所以主存地址为6位区号(共64区)+5位区内块号(共32块)+9位块内地址(块容量512B,按字节编址)
所以Cache地址为5位区内块号,9内块内地址(相当于主存的一个区)
自然的,块表的容量为32*6位(表示Cache32个块中分别存了第几区的主存块)
图使用教材上的图吧:
特点:冲突多,命中率低,使用率低。但是访问速度快。
全相联映像法
原则:
- 主存中每一块可存入Cache中的的任一位置
维护一个目录表,记录Cache每块存的是内存的哪一块。表的长度就为Cache块数(原因上同),每条项目的长度为主存的主存块号的长度(不是区内块号),每次访存的时候查表访问。
方法简单,例题略。
特点:目录表容量很大,访存慢。但Cache的使用率高。
组相联映像法
原则:
- 是前两种方法的组合,结合了各自的优点。
- 将Cache分组,内存分区。内存区内的块数和Cache的组数相同(原因稍后介绍)。
- 主存区内的块和Cache的组采用直接相联映像法,即第主存每区的第i块都映射到Cache的第i组。
- Cache每组组内采用全相联映像法,例如Cache的第3组中有个4块,Cache的第1块存了来自内存第2区的第3块,第2块存了来自内存第6区的第3快,第3、4块空.
按照上面的原则,就需要一个表来说明Cache每一组存了哪几区的内存块。访存时查表到对应的区中寻找有没有该内存块。
例. 一个组相联映像Cache由64个存储块组成, 每组包含4个存储块。主存包含4096个存储块,每块由128字组成。访存地址为字地址。
(1)写出主存地址位数和地址格式
(2)写出Cache地址位数和地址格式;
(3)画出组相联映像方式示意图,
(4)主存字地址为7B568H单元映射到Cache哪个组?解:
Cache组数为64/4=16组
主存每区内的块数=Cache的组数,则主存的区数为4096/16=256区,每区内有16个存储块
那么主存地址的组成为8位区号(256区)+4位区内块号(16个存储块)+7位块内地址(一块128字,按字编址)
Cache地址为4位组号(16组)+2位组内块号(每组4快)+7位块内地址(一共128字,按字编址)
教材中的图:
7B568H=(二进制)11110110 1010 1101000 //按8421码翻译,前面的0舍弃,然后按内存格式分组
按照前面主存地址的分析,内存映射到Cache的哪个位置是根据其第8到12位(从0开始,从左往右数),为1010=5,所以映射到第5组。
转载于:https://www.cnblogs.com/QEStack/p/8157777.html
【复习笔记】Cache的映像方法相关推荐
- Cache的映像方法
注:写的时候忘记统一内存/主存的称呼,特别声明文中内存=主存.阅读本文建议画图辅助理解 Cache是什么 cache高速缓冲存储器一种特殊的存储器子系统,其中复制了主存中频繁使用的数据以利于快速访问. ...
- Java复习笔记入门阶段06:方法
目录 1.方法概述 2.方法定义格式 2.1 方法常见问题 2.2 求和 2.3 判断奇数偶数 2.4 求最值 3.方法的内存原理 3.1 方法的调用流程,内存图解 4.方法的参数传递机制 4.1基本 ...
- 周三多管理学原理复习笔记_管理学原理与方法周三多第七版重点笔记答案电子版...
二.管理的职能与性质 1.管理的职能 计划.组织.领导.控制.创新这五种职能是一切管理活动最基本的职能. (1)计划.指制定目标并确定为达成这些目标所必需的行动.组织中所有的管理者都必须从事计划活动, ...
- 《线性代数》期末复习笔记3——习题讲解及方法总结
带参方程组解的情况的讨论(分类思想) 分析步骤: 分析唯一解的情况 当参数不满足唯一解分析的情况时,继续分析,必要时分类讨论 分类讨论一定要全面 [易错]概念的考察 已知线性相关求未知数 当堂作业1( ...
- 考研《软件工程--面向对象和传统的方法》复习笔记
<软件工程--面向对象和传统的方法>复习笔记 第一章 软件工程的范畴 引言 可以结合 软件工程导论第六版 --张海藩 1.软件工程概念: 软件工程是一门学科,目的是生产出没有错误的软件,按 ...
- 计算机组成原理学习笔记第4章 4.9——Cache地址映射与变换方法
有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) 目录 0. 思维导图 1. 主存与Cache地址映射概述 2. 全相联映射的工作原理 3. 直接映射的工作原理 4. ...
- 抽样调查理论与方法期末复习笔记
第3章 简单随机抽样 均方误差=方差+偏倚的平方 3.5某林场共有1000公顷林地,随机布设了50块面积为0.06公顷的方形样地,测得这50块样本地的平均木材蓄积量为9m3,标准差为1.63m3. ...
- 《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记
这篇复习笔记是针对<微型计算机原理与接口技术>后面几章的 前面的汇编复习内容在 "零.学习笔记总目录" 的 "汇编考前复习" 中 ✅ 这篇笔记中可能 ...
- 计算机网路原理复习笔记
计算机网路原理复习笔记 未看: 前两章 第四章路由聚合 第四章最长前缀匹配 SDN 3. 数据链路层 3.1 基本概念和功能概述 3.1.1 链路:是一条无源的点到点的物理线路段,中间没 有任何其他的 ...
最新文章
- C# 委托+事件的例子:①温度报警②计算器
- 常见Java错误的十大列表(前100名!)
- mod_python模块安装
- Dom-to-image
- mysql将最大金额加1000_Mysql数据库笔记
- Ubuntu使用tcpdump工具
- 一个美国ECO PHD两年的学习总结
- HTML跳转php没反应的问题解决
- dsolve函数的功能_为什么Mathematica的DSolve函数会解不出显式解??
- ffmpeg 合并音乐+视频报错之[mp4 @ 000002b9bcfa1ec0] Non-monotonous DTS in output stream 0:1; previous: 1136042
- 理解Tensorflow的shape
- Autovue 集成
- Multisim 13-电子线路实验
- 借助阿里云轻松部署企业网盘
- 如何快速把多个mp4和m4a混合合并- 无需安装
- LaTeX 注释快捷键
- visdom TensorboardX进行可视化-包括对高维特征可视化(T-SNE PCA等)
- Ubuntu18.04解决网卡失效的问题
- 手摸手教会你三次握手和四次挥手
- logdet函数的凹凸性和遍历速率