基本地址变换机构
基本地址变化机构
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
网友评论