美文网首页
地址变换机构

地址变换机构

作者: 我是聪 | 来源:发表于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