记录王道操作系统P211地址翻译题目

题目:1.有一个tlb与一个data cache
2.存储器以字节为编址单位
3.虚拟地址14位
4.物理地址12位
5.页面大小64B
6.tlb为四路组相联,共有16个条目
7.data cache是物理寻址,直接映射的,行大小为4B,共有16组
问题:写出访问0x03d4,0x00f1和0x0229的过程。

分析题目中的信息需要具备的知识点有
1.tlb和data cache 之间的关系,tlb和cache各自的地址结构形式。
2.cache映射方式。
3.基本分页存储管理使用tlb后逻辑地址转化物理地址变换过程。

若:tlb在cpu和cache之间,则先访问tlb,若tlb介于cache和memory之间,则先访问cache.
这里说明了cache是物理寻址的,所以先经过tlb将逻辑地址转化为物理地址,再通过cache物理寻址找到需要的地址。

 tlb 虚拟地址格式 页号+页内偏移 cache 直接映射方式的物理地址对应格式 cache页号 +页内偏移 页面大小是64B,得出页内偏移是6位,对应于虚拟地址和物理地址的页内偏移位数。tlb四路组相联,共有16个条目,意思是四个维一组,则共有4组,用二进制表示选择哪一组,例如(00,01,10,11),对应2位表示组,位于tlb中页号的低两位,页号剩下6位作为tlb标记。cache分为多个组,每个组分为多个行,主存向cache迁移数据是以行 单位的,既然以行为单位,则需要行号把,行大小为4B,对应2位代表一行,对应于cache页内偏移低两位。共有16组,需要4位代表哪一组,对应cache页内偏移剩下的4位。

至此,还需掌握使用tlb之后逻辑地址到物理地址之间的转化过程。先从tlb中查找(不命中)后去页表查找,页表在主存中则可找到对应的物理页号,物理块号拼接上页内地址即是物理地址了。若不在,发生缺页中断。
找到物理地址之后去cache中查找,若在 ,得到内容,不在去主存中查找。

tlb cache操作系统地址翻译相关推荐

  1. [mmu/cache]-MMU的地址翻译(Address translation)指令介绍

    ★★★ 个人博客导读首页-点击此处 ★★★ Address translation system instructions AT指令的语法格式: 有了上面的语法格式后,就非常好理解armv8的MMU提 ...

  2. Linux虚拟内存与线性地址翻译

    1. 虚拟内存 对于操作系统的使用者而言,内存就像是一个一排排按照从0到n被编好数字的收纳柜,每个柜子可以存放8个bit,也就是一个字节,我们将需要存放的信息切成若干个字节,放到连续的柜子中.以后我们 ...

  3. 【硬核】MMU是如何完成地址翻译的

    文章目录 1. 什么是虚拟内存? 2. 虚拟内存的作用 3. 虚拟内存与物理内存 3.1 CPU存取数据 3.2 物理地址常用术语 3.3 虚拟地址常用术语 3.4 页表常用术语 3.5 页命中/缺页 ...

  4. 深入了解MMU是如何完成地址翻译的?

    虚拟内存是现代操作系统中最伟大的发明之一.它为每个进程提供了一个一致的.私有的地址空间,让每个进程产生了一种自己在独享主存的错觉. 为了讲清楚MMU是如何一步一步完成地址翻译,取出数据的,本篇文章在前 ...

  5. 端到端的地址翻译(虚拟地址是怎样取到相应高速缓存的数据的?)

    [0]写在前面-为什么需要虚拟存储器? 0.1)定义:虚拟存储器其实就是借用了磁盘地址空间,还记得当初我们安装CentOS,划分的swap 文件系统吗? 0.2)VM简化了链接和加载.代码和数据共享, ...

  6. 深入理解地址翻译 CSAPP

    地址翻译, 用自己的话说一遍, 然后自己在draw.io画图理解. 术语 页表就是一个 页表条目(Page Table Entry  PTE)的数组,每一项(每个PTE)是[有效位,物理地址]. 我们 ...

  7. 内存管理 —— 地址翻译

    地址翻译主要包括两个阶段:一个是虚实地址转换,另一个是存取数据. 慢表(Page):放在主存中的页表,页表只能存放在主存中. 快表(TLB):放在告诉缓冲存储器的页表项. 一.虚实地址转换 (1)根据 ...

  8. 263-虚拟内存的地址翻译

    虚拟内存的地址翻译 地址翻译 形式上来说,地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中元素之间的映射, MAP:VAS->PAS U ∅ 这里 下图 ...

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

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

最新文章

  1. 【高级Java架构师系统学习】java如何开发安卓软件
  2. spring mvc返回json
  3. LGDT/LIDT - 加载全局/中断描述符表格寄存器
  4. Vuejs自定义全局组件--loading
  5. [转]NDK中log输出方法
  6. ucontext族函数的使用及原理分析
  7. jsp获取多个checkbox的值
  8. 小程序、vue 新闻上下轮播
  9. shiro 的 @RequiresPermissions 注解使用
  10. 阿里云(腾讯云类似)服务器控制台配置开放所有的端口
  11. layer 父弹出框上弹出子弹框窗体大小问题
  12. PS样机字体特效教程-喷漆文字
  13. Ubuntu下 UltraEdit 破解/显色
  14. Python深度学习-第一章、什么是深度学习
  15. HbuilderX 启动微信小程序 无法打开项目
  16. 备份恢复Lesson 09. Diagnosing Failures
  17. zookeeper节点创建
  18. 为什么事务普遍加在service层
  19. boat启动器 minecraft_我的世界boat启动器
  20. 国科大2022计算机算法设计与分析期末考试-刘玉贵老师

热门文章

  1. 第二次作业(红芯事件)
  2. 一个截图引发的思考——实现APP区域截图及图片对比
  3. 一文带你了解蓝牙产品相关认证
  4. FreeType 字体库使用 (简易的字形装载和实际应用)
  5. c语言 读取字节,c – 从字节获取位
  6. [转]Show Stopper 一次 crash 调试的夺命狂奔
  7. 参考文献格式修改[3-5]形式(连续多项引用)
  8. Uva140 Bandwidth 全排列+生成测试法+剪枝
  9. cmake find_path
  10. 怎么调整html文本域宽度和高度,如何使用CSS设置textarea的宽度和高度?