第三章 内存管理 六、基本地址变换结构

目录

一、定义

二、物理地址计算步骤

1、设页面大小为L,逻辑地址A到物理地址E的变换过程如下:

2、例子

三、总结


一、定义

基本地址变换结构是指计算机系统中用于实现虚拟地址到物理地址转换的基本硬件结构。

基本地址变换结构通常包括以下几个部分:

  1. 地址转换映射表:是一个存储虚拟地址到物理地址映射关系的表格。通常由操作系统维护,在地址变换时起到查找物理地址的作用。

  2. 地址变换缓存:也称为转换后备缓存或TLB(Translation Lookaside Buffer),是一个快速查找表,用于加速地址变换。它保存了最近访问的一部分虚拟地址到物理地址的映射关系,可以减少对主地址映射表的访问次数。

  3. 地址变换逻辑电路:用于执行基本的地址变换功能,通常包括将虚拟地址的页号和页内偏移分离、查找地址映射表和地址变换缓存,以及计算物理地址等操作。

  4. 内存保护单元:用于实现内存保护机制,防止程序越界访问或破坏其他程序或操作系统核心的数据结构。它可以基于地址映射表对程序的访问进行权限控制,以确保程序只能访问其允许的虚拟地址空间。

基本地址变换结构是计算机系统中实现虚拟内存等高级内存管理功能的基础。在现代操作系统中,基本地址变换结构通常由CPU芯片集成实现,以提高系统的性能和安全性。

二、物理地址计算步骤

第三章 内存管理 六、基本地址变换结构_第1张图片

1、设页面大小为L,逻辑地址A到物理地址E的变换过程如下:

计算页号Р和页内偏移量w(如果用十进制数手算,则P=A/L,W=A%L;但是在计算机实际运行时,逻辑地址结构是固定不变的,因此计算机硬件可以更快地得到二进制表示的页号、页内偏移量)

比较页号p和页表长度M,若P>=M,则产生越界中断,否则继续执行。                                 (注意:页号是从o开始的,而页表长度至少是1,因此P=M时也会越界)

页表中页号p对应的页表项地址=页表起始地址F+页号P*页表项长度,取出该页表项内容b,即为内存块号。(注意区分页表项长度、页表长度、页面大小的区别。页表长度指的是这个页表中总共有几个页表项,即总共有几个页;页表项长度指的是每个页表项占多大的存储空间;页面大小指的是一个页面占多大的存储空间)

计算E=b*L+W,用得到的物理地址E去访存。(如果内存块号、页面偏移量是用二进制表示的,那么把二者拼接起来就是最终的物理地址了)

2、例子

1、计算物理地址

第三章 内存管理 六、基本地址变换结构_第2张图片

2、页号为隐含的情况

第三章 内存管理 六、基本地址变换结构_第3张图片

三、总结

第三章 内存管理 六、基本地址变换结构_第4张图片

注意:一维的概念是只需要给出逻辑地址就能算出物理地址。

你可能感兴趣的:(操作系统学习,操作系统)