具有快表的地址变换机构


具有快表的地址变换机构是基本嫡长子变换机构的改进版
由于局部性原理所以引入了快表。

局部性原理


**时间局部性原理:**如果执行了程序中的某条指令,那么不久之后这条指令很可能再次被执行;如果某个数据被访问过,不久之后,该数据很可能再次被访问。(因为程序中存在大量的循环)
**空间局部性:**一旦程序访问了某个存储单元,在不久之后,其附近的储存单元页很有可能被访问。(因为很多数据在内存中都是连续存放的)

基本地址变换机构中,每次访问一个逻辑地址,都需要查询内存中的页表,由于局部性原理,可能连续很多次查到的都是同一个页表项。既然如此,能否利用这个特性减少访问页表的次数呢?

1.基本地址变换

(1)地址变换过程
1.算页号、页内偏移量
2.检查页号合法性
3.查页表,找到页面存放的内存块号
4.根据内存块号与页内偏移量得到物理地址
5.访问内存目标单元
(2)访问一个逻辑地址的访存次数
1.算页号、页内偏移量
2.检查页号合法性
3.查快表。若命中,即可知道页面存放的内存块号,可直接进行5,为命中则进行4
4.查页表,找到页面存放的内存块号,并且将页表项复制到块表中
5.根据内存块号与页内偏移量得到物理地址
6.访问目标内存单元

2.具有块表的地址变换机构

(1)地址变换过程

(2)访问一个逻辑地址的访存次数
什么是快表?
快表,又称联想寄存器(TLB),是一种访问速度比内存快很多的高速缓冲器,用来存放当前访问的若干页表项没,以加快地址变换的过程。于此对应,内存中的页表常称为慢表。


.

实例:

比较重要的是:计算访问一个逻辑地址的平均耗时是多少?

假设快表耗时为1,访问内存是100,
则在为引进快表之前,CPU查一次逻辑地址需要两次访问内存,第一次是查页表,第二次是查实际物理地址。平均时间是200.
在引进快表之后,由于快表的命中率为0.9,在命中后耗时为,访问一次快表和访问一次内存,时间为1+100=101,也还有可能快表未命中,耗时为201(访问一次快表+访问两次内存),综合考虑为0.1201+0.96101=111
也有CPU设计为两种访问机制同时进行,就为(1+100)0.9+200*0.1=110.9

具有快表的地址变换机构相关推荐

  1. 操作系统-内存管理(快表的地址变换机构,两级页表,虚拟内存的基本概念,基本页式管理下的页表和页面置换算法)

    文章目录 1.快表地址变换机构 2. 两级页表 3. 虚拟内存的基本概念 基本分页存储管理 1.快表地址变换机构 快表,又称联想寄存器(TLB,translation lookaside buffer ...

  2. 三十一、具有快表的地址变换机构

    一.知识总览 二.什么是快表 三.引入快表后,地址的变换过程 1.CPU给出逻辑地址,由某个硬件算得页号.页内偏移量,将页号与快表中所有页号进行比较. 2.如果找到匹配的页号,说明要访问的页表项在快表 ...

  3. 3.1.8 具有快表的地址变换机构

    目录 思维导图 啥是快表 引入快表后的地址变化过程 局部性原理 总结 思维导图 啥是快表 引入快表后的地址变化过程 局部性原理 总结

  4. (王道408考研操作系统)第三章内存管理-第一节6-3:非连续分配管理方式之基本分页存储管理之具有快表的地址变换机构

    文章目录 一:程序访问的局部性原理 二:快表 三:对比 一:程序访问的局部性原理 如下有这样一段简单的C语言程序 int sumarrayrows(int a[M][N]) {int i,j,sum= ...

  5. 3.1.8 OS之快表的地址变换结构

    文章目录 0.思维导图 1.局部性原理引入快表机制 2.快表(TLB) 一个例图了解基于快表的地址变换结构 3.基本地址变换与快表地址变换的比较 0.思维导图 上一篇文章学习了分页存储管理的基本地址变 ...

  6. 具有块表的地址变换机构

    局部性原理 什么是块表 引入快表后,地址的变换过程

  7. 4.5.2 地址变换机构 4.5.3  访问内存的有效时间

    1. 基本的地址变换机构 进程在运行期间,需要对程序和数据的地址进行变换,即将用户地址空间中的逻辑地址变换为内存空间中的物理地址,由于它执行的频率非常高,每条指令的地址都需要进行变换,因此需要采用硬件 ...

  8. 操作系统的内存管理机制(连续分配管理、页式、段式、段页式、快表、二级页表)

    来源:https://www.bilibili.com/video/BV1YE411D7nH 操作系统的内存管理机制(连续分配管理.页式.段式.段页式.快表.二级页表) 内存被分为系统区和用户区,系统 ...

  9. 内存管理 —— 快表TLB

    一.快表和慢表的定义 慢表(Page):页表.段表存放在主存中,收到虚拟地址后要先访问主存,査询页表.段表,进行虚实地址转换. 快表(TLB):提高变换速度→用高速缓冲存储器存放常用的页表项 二.局部 ...

最新文章

  1. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】
  2. Kafka 客户端实现逻辑分析
  3. webstorm激活+汉化教程
  4. centos8 挂载ntfs_CentOS 8 挂载NTFS系统磁盘方案
  5. java object怎么拿字段_「Java面试秘籍」String不可变,如何理解
  6. 如何写出让人眼前一亮的硬核简历
  7. 创建font_使用python创建秒表
  8. US Domain Center 域名抢注服务
  9. php独孤九剑,(独孤九剑)--PHP 视频学习 -- 文件系统
  10. PhotoShop一键修改4的倍数图片工具
  11. 干货 | 手把手教你iOS自定义视频压缩
  12. 微信小程序怎么推广运营-微信小程序引流方法
  13. CSS 滚动条样式修改(详细)
  14. access查询出生日期格式转换_设置日期和时间字段的格式
  15. ActiveX控件的注册和反注册
  16. window结束进程命令
  17. 【C++学习笔记】C++文件操作
  18. 利用马青公式输出π的后任意位数字
  19. UVA 1262 Password
  20. Python3基础教程2——Python的标准数据类型

热门文章

  1. parallelStream 底层 ForkJoinPool 实现
  2. 海康威视与自己的笔记本连接
  3. ubuntu系统的屏幕扩展之缺少显卡驱动
  4. java什么时候用反射_Java反射机制使用场景
  5. 协方差局长你_协方差怎么算
  6. 网页版谷歌地图上标记多个点_Google正式放弃Beta版标记
  7. 1~100以内的质数求和
  8. 单片机反相器_秒懂单片机晶振电路原理
  9. catia设计树_CATIA设计实例教程
  10. HTML5移动游戏开发高级编程 2:从玩具到游戏