专题-主存储器与Cache的地址映射方式
2019/05/02 10:23
首先,我们注意到地址映射有三种:分别是直接地址映射、全相联映射、组相联映射。
首先我们搞清楚主存地址还有Cache地址的关系,还有组内地址的关系,常见我们的块内地址,是用b(b表示有几位的数2^b)表示的。
对于直接映射:主存地址分为,标记 | 字块地址 | 块内地址
对于全相联映射:主存地址分为,标记 | 块内地址
对于组相联地址:主存地址分为,标记 | 组地址 | 块内地址
我们在题中或者遇到问题是:
首先看CPU的地址总线有多少位,然后字长(1个字节是8位,字长看所给要求有多少个字节,一般是16位,也就是两个字节)有多少。
然后我们看Cache,一般给出2K * 16位的Cache,16就是字长,然后关注块(这里关系到块内地址的位数如果是8B,可以化成4 * 16bit,就可以明白块内地址占2位)有多大,如果是组相联映射,还会有个几路组相联,如果是2路的话,也就说明占1位Cache地址,如果是4路,那么就是占2位Cache地址。这样的话,Cache剩下的位数,表示分成了这么多组,在主存地址中也要中这么多位的地址来找到相应的地址(也就是组相联映射中的组地址的位数)。
最后题目中往往会说要你求如果主存地址为462EH,则该地址可以映射到哪一组,就是把组地址取出来,然后换算成十进制看是映射到哪一组。如果所给主存地址没有达到CPU地址总线的长度,在前面补最高位同符号的即可。

专题-主存储器与Cache的地址映射方式的更多相关文章
- [转帖]CPU Cache 机制以及 Cache miss
CPU Cache 机制以及 Cache miss https://www.cnblogs.com/jokerjason/p/10711022.html CPU体系结构之cache小结 1.What ...
- CPU Cache 机制以及 Cache miss
CPU体系结构之cache小结 1.What is cache? Cache是用来对内存数据的缓存. CPU要访问的数据在Cache中有缓存,称为“命中” (Hit),反之则称为“缺失” (Miss) ...
- 主存和cache的地址映射
cache是一种高速缓冲寄存器,是为解决CPU和主存之间速度不匹配而采用的一项重要技术. 主存与cache的地址映射方式有全相联方式.直接方式和组相联方式三种. 直接映射(directmapping) ...
- Cache地址映射
原理:程序访问局部性 在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内 时间:在一小段时间内,最近被访问过的程序和数据很可能再次被访问 ...
- 主存到Cache直接映射、全相联映射和组相联映射
转自:https://blog.csdn.net/dongyanxia1000/article/details/53392315 ---- Cache的容量很小,它保存的内容只是主存内容的一个子集,且 ...
- 2016-05-I
2016 年上半年软件设计师上午真题 1. VLIW 是( )的简称.A.复杂指令系统计算机 B.超大规模集成电路C.单指令流多数据流 D.超长指令字 2.主存与 Cache 的地址映射方式中,( ) ...
- 【基础知识】Intel CPU体系结构|x86是什么意思
看了<计算机系统结构>.<深入理解计算机系统>.<大话处理器>等经典书籍,也在google上搜了一大堆资料,前前后后.断断续续的折腾了一个多月,终于想通了,现在把自 ...
- Cache与主存地址映像计算例题
一.全相连映像 主存中任何一个块均可以映像装入到Cache中的任何一个块的位置上.主存地址分为块号和块内地址两部分,Cache地址也分为块号和块内地址.Cache的块内地址部分直接取自主存地址的块内地 ...
- [ZZ] Cache
http://blog.sina.com.cn/s/blog_6472c4cc0102duzr.html 处理器微架构访问Cache的方法与访问主存储器有类似之处.主存储器使用地址编码方式,微架构可以 ...
随机推荐
- 转载:string、const char*、 char* 、char[]相互转换
本文转自:https://blog.csdn.net/rongrongyaofeiqi/article/details/52442169 一:转化总结形式如下: 使用时,要对源格式和目标格式进行初始化 ...
- 【Oracle】重做undo表空间
重做undo表空间 场景: alert日志,报了如下错误: [oraprod@arpinfo bdump]$ tail -f alert_PROD.log Errors in file /ora115 ...
- linux centos无法删除网站根目录下的.user.ini解决办法
.user.ini文件在执行rm -rf时,提示无法删除 解决办法 首先了解下chattr命令的作用:不让用户修改.删除文件等. -i选项:设定文件不能被删除.改名.设定链接关系,同时不能写入或新增内 ...
- Python 查看模块的帮助文档,方法和帮助信息
参考链接:https://blog.csdn.net/u013810296/article/details/55509284 这里介绍下python自带的查看帮助功能,可以在编程时不中断地迅速找到所需 ...
- python 学习之 基础篇二 字符编码
声明: 博文参考1:字符编码发展历程(ASCII,Unicode,UTF-8) 博文参考2:Python常见字符编码间的转换 (1)为什么要用字符编码 早期的计算机使用的是通电与否的特性的真空管,如果 ...
- js内存空间
堆数据结构 堆数据结构是一种树状结构.它的存取数据的方式与书架和书非常相似.我们只需要知道书的名字就可以直接取出书了,并不需要把上面的书取出来.JSON格式的数据中,我们存储的key-value可以是 ...
- 实体类id的几种生成方式
@Id// @GeneratedValue(strategy = GenerationType.AUTO) // 自增// @GeneratedValue(strategy = GenerationT ...
- 安装gcc-c++报错解决办法
问题 每次安装依赖包gcc-c++的时候,经常会遇到包如下错误 Error: Package: libstdc++-devel--.el7_4..x86_64 (ultra-centos-7.4- ...
- Linux的DNS反向解析部署
下面的部署是在Linux的DNS正向解析示例上进行修改的. 如果有什么问题或者错误,可以访问上篇帖子 下面开始有关DNS的服务部署.<DNS反向解析> 工具:虚拟机 centos7 配置: ...
- django-URL路由系统
配置 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个U ...


