题7
题目
【2021 统考真题】假设计算机 M 的主存地址为 24 位,按字节编址;采用分页存储管理方式,虚拟地址为 30 位,页大小为 4KB;TLB 采用 2 路组相联方式和 LRU 替换策略,共 8 组。请回答下列问题。
(1) 虚拟地址中哪几位表示虚页号?哪几位表示页内地址?
(2) 已知访问 TLB 时虚页号高位部分用作 TLB 标记,低位部分用作 TLB 组号,M 的虚拟地址中哪几位是 TLB 标记?哪几位是 TLB 组号?
(3) 假设 TLB 初始时为空,访问的虚页号依次为 10、12、16、7、26、4、12 和 20,在此过程中,哪一个虚页号对应的 TLB 表项被替换?说明理由。
(4) 若将 M 中的虚拟地址位数增加到 32 位,则 TLB 表项的位数增加几位?
分析
注意: 对于本题的 TLB, 需要采用处理 Cache 的方式求解。
- 按字节编址,页面大小为
,页内地址为 12 位。虚拟地址中高 位表示虚页号, 虚拟地址中低 12 位表示页内地址。 - TLB 采用二路组相联方式,共
组,用 3 位来标记组号。虚拟地址 (或虚页号) 中高 位为 TLB 标记,虚拟地址中随后 3 位 (或虚页号中低 3 位) 为 TLB 组号。 - 虚页号 4 对应的 TLB 表项被替换。因为虚页号与 TLB 组号的映射关系为 TLB 组号
虚页号 mod TLB 组数 虚页号 ,因此,虚页号 映射到的 TLB 组号依次为 。TLB 采用二路组相联方式,从上述映射到的 TLB 组号序列可以看出, 只有映射到 4 号组的虚页号数量大于 2, 相应虚页号依次是 12, 4, 12 和 20。根据 LRU 替换策略, 当访问第 20 页时, 虚页号 4 对应的 TLB 表项被替换出来。 - 虚拟地址位数增加到 32 位时,虚页号增加了
位,使得每个 TLB 表项中的标
记字段增加 2 位, 因此, 每个 TLB 表项的位数增加 2 位