1304 字
3 分钟
考研专业课学习记录2026-05-08
2026-05-08

考研专业课学习记录 | 2026-05-08#

今日学习内容#

今天专业课学习两个半小时,主要完成了408计算机组成原理中页式存储管理的系统学习,先回顾了连续分配存储管理的局限性,进而理解分页存储的设计初衷,逐步搭建页式存储的知识框架。

AI知识点带复盘#

1. 核心设计背景#

连续分配存储管理(单一连续分配、固定分区分配、动态分区分配)均存在严重的外部碎片问题,导致内存空间利用率低下。页式存储管理通过将进程的逻辑地址空间与物理内存均划分为大小相等的固定单位(页/页框),实现离散式内存分配,彻底消除外部碎片,仅存在少量内部碎片(进程最后一页可能未完全填满)。

2. 核心术语与概念#

  • 页(Page):进程逻辑地址空间被划分的若干相等单位,页编号从0开始递增;
  • 页框(Page Frame,物理块):物理内存被划分的与页大小完全一致的存储单位,每个页框拥有唯一的物理块号;
  • 页表:记录单个进程的页号与对应物理页框号的映射关系表,每个进程独立拥有一份页表,常驻内存;
  • 页表寄存器:存储当前进程页表的起始物理地址与页表长度,用于快速定位当前进程的页表;
  • 逻辑地址:二维结构,分为页号P和页内偏移量d,总地址位数 = 页号位数 + 页内偏移位数,其中页内偏移位数由页面大小决定(页面大小为2n2^n,则页内偏移占n位);
  • 物理地址:由页框号与页内偏移拼接而成,计算公式为:物理地址 = 页框号 × 页面大小 + 页内偏移

3. 一级页表地址转换流程#

  1. 拆分逻辑地址:通过逻辑地址计算页号P = 逻辑地址 // 页面大小,页内偏移d = 逻辑地址 % 页面大小,也可通过位运算快速拆分(如页面大小为4KB即2122^{12},直接取低12位为页内偏移,高位为页号);
  2. 定位页表项:通过页表寄存器获取页表起始地址,结合页号P读取对应页表项,获取物理页框号F
  3. 拼接物理地址:将页框号与页内偏移拼接得到最终物理地址。

注意:一级页表的地址转换需要两次内存访问:第一次访问内存读取页表项,第二次访问内存读取目标数据。

4. 快表(TLB)优化#

为减少两次内存访问的开销,引入快表(Translation Lookaside Buffer):

  • 快表是高速缓冲存储器,缓存近期访问过的热门页表项;
  • 地址转换时优先在快表中查找:命中则直接获取页框号,仅需一次内存访问读取目标数据;未命中则访问内存读取页表项,并将该页表项加载到快表中;
  • 有效访问时间(EA)计算公式:EA = 命中率 × 内存访问时间 + (1 - 命中率) × 2 × 内存访问时间

5. 扩展考点#

  • 多级页表:当系统地址空间较大时,一级页表会占用过多内存空间,多级页表将页表本身也进行分页,仅加载当前需要的二级页表项到内存,大幅减少页表占用的内存空间;
  • 反置页表:每个物理页框对应一个表项,表项中记录占用该页框的进程号与页号,通过哈希表快速查找,进一步减少系统总页表内存占用。

问题与反思#

  1. 初期混淆了页框与物理块的概念,通过查阅教材明确二者为同一实体的不同表述;
  2. 多级页表的地址转换步骤仍不够熟练,需要结合具体例题进行练习巩固;
  3. 对快表的有效访问时间计算细节还需要进一步梳理,尤其是命中率对访问时间的影响逻辑。

收获与总结#

  1. 明确了页式存储管理解决连续分配外部碎片的核心思路,理解了分页存储的设计价值;
  2. 掌握了页式存储的核心术语、地址转换的完整流程,能够独立完成一级页表下的地址转换计算;
  3. 了解了快表、多级页表等优化方案的原理与考研考查重点,理清了不同优化手段的适用场景;
  4. 梳理了页式存储与其他存储管理方式的核心区别,为后续学习段式、段页式存储打下基础。

💡 碎碎念:踏实吃透每一个知识点!

文档内容由 AI 辅助生成

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

考研专业课学习记录2026-05-08
https://elysiaweb.vercel.app/posts/408/5-8/
作者
程翊雪
发布于
2026-05-08
许可协议
Unlicensed

部分信息可能已经过时

目录