美文网首页
地址变换机构

地址变换机构

作者: 我是聪 | 来源:发表于2021-07-16 20:57 被阅读0次

基本地址变换机构

基本地址变化机构

image.png

简介

  • 借助进程的页表将逻辑地址转换为物理地址

结构

  • 再系统中设置一个页表寄存器(PTR)

    • 作用

      • 存放页表在内存中的信息

        进程未执行时,页表的始址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把他们放到页表寄存器中。

        • 起始地址F
        • 页表长度M

步骤

  • 根据逻辑地址计算出页号、页内偏移量
  • 判断页号是否越界
  • 查询页表,找到页号对应的页表项,确定页面存放的内存块
  • 用内存块号和业内偏移量得到物理地址
  • 访问目标内存单元

计算逻辑

  • 页面大小为L,逻辑地址L->物理地址E

    • 计算页号P和页内偏移量W

      • P=A/L
      • W=A%L
    • 比较页号P和页表长度M

      • 如果P>=M ,则产生越界中断
      • 否则执行
    • 页表项地址=页表起始地址F+页号P*页表项长度

      • 取出页表项内容B,即为内存块号
    • 计算E=b*L+W

概念区分

  • 页表长度

    • 这个页表中总共有几个页表项,即总共有几个页
  • 页表项长度

    • 每个页表项占多大的存储空间,如4B
  • 页面大小

    • 一个页面占据多大的存储空间

总结

  • 分页存储管理系统中

    • 每个页面大小确定

      • 逻辑地址结构即确定
      • 页式管理中地址是一维的

具有快表的基本地址变换机构

image.png

快表(联想寄存器TLB)

  • 概念

    • 访问速度比内存快很多的高速缓冲存储器
    • 存放当前访问的若干页表项

步骤

  • CPU给出逻辑地址

    • 硬件算出页号、页内偏移量
    • 将页号与快表中所有页号进行比较
  • 如果在快表中找到

    • 内存块+页内偏移直接访问内存
    • 一次访存
  • 否则查询慢表

    • 两次访存

举例

  • 访问一次快表耗时1us,访问一次内存耗时100us,快表命中率90%,访问一个逻辑地址平均耗时

    • (1+100)0.9 + (1+100+100)0.1=111us

相关文章

网友评论

      本文标题:地址变换机构

      本文链接:https://www.haomeiwen.com/subject/qpzbpltx.html