专题-主存储器与Cache的地址映射方式
2024-08-23 08:20:05
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地址总线的长度,在前面补最高位同符号的即可。
最新文章
- 常见HTTP状态基本解释
- 51NOD 1623 完美消除 数位DP
- VS使用技巧
- C primer plus 读书笔记第十章
- js获取ip方法
- COJ 0986 WZJ的数据结构(负十四) 区间动态k大
- css学习知识点
- 在ubuntu中为navicat创建快捷方式
- S7 Connection 通讯
- 【Spring Boot】关于上传文件例子的剖析
- Android开发 - 掌握ConstraintLayout(十一)复杂动画!如此简单!
- linux 测试 get 请求 跳过SSL证书验证
- centos7使用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
- arcengine新建要素类
- postman客户端的安装与使用
- Oracle EBS GL总账凭证取值
- Linux __attribute__((";hidden";))、default
- [UE4]用向量表示方向
- Nexus 使用配置
- 编程哲学之C#篇:01——创世纪
热门文章
- Hash冲突的解决--暴雪的Hash算法
- Spring Boot Swagger2自动生成接口文档
- vue简介、入门、模板语法
- Android 5.0以下系统支持TLS 1.1/1.2协议版本
- (转)MySQL中char(36)被认为是GUID导致的BUG及解决方案
- 2019-11-29-VisualStudio-使用三个方法启动最新-C#-功能
- 有关 Table 获取Json 的解决方案
- .net core使用jwt自动续期
- OKHttp和NumberProgressbar组建强大的Android版本更新功能
- testlink使用方法