题目
(6分)某计算机系统按字节编址,采用二级页表的分页存储管理方式,虚拟地址格式如下所示:10位 10位 12位(页目录号 页表索引 页内偏移量) 请回答下列问题。1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?2)假定页目录项和页表项均占4个字节,则进程的页目录和页表共占多少页?要求写出计算过程。3)若某指令周期内访问的虚拟地址为0100 0000H和0111 2048H,则进行地址转换时共访问多少个二级页表?要求说明理由。
(6分)某计算机系统按字节编址,采用二级页表的分页存储管理方式,虚拟地址格式如下所示:10位 10位 12位(页目录号 页表索引 页内偏移量) 请回答下列问题。
1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?
2)假定页目录项和页表项均占4个字节,则进程的页目录和页表共占多少页?要求写出计算过程。
3)若某指令周期内访问的虚拟地址为0100 0000H和0111 2048H,则进行地址转换时共访问多少
个二级页表?要求说明理由。
题目解答
答案
1)页和页框大小均为4KB。进程的虚拟地址空间大小为2^32/2^12=2^20页。
2)(2^10*4)/2^12(页目录所占页数)+(2^20*4)/2^12(页表所占页数)=1025页。
3)需要访问一个二级页表。因为虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,访问的是同一个二级页表。
2016计算机统考真题
解析
步骤 1:计算页和页框的大小
根据虚拟地址格式,页内偏移量为12位,因此页和页框的大小为2^12字节,即4KB。
步骤 2:计算进程的虚拟地址空间大小
虚拟地址总共有32位,其中页目录号和页表索引共占20位,因此进程的虚拟地址空间大小为2^20页。
步骤 3:计算进程的页目录和页表共占多少页
页目录项和页表项均占4个字节,即2^2字节。页目录项的总数为2^10,因此页目录所占页数为(2^10*2^2)/2^12=1页。页表项的总数为2^20,因此页表所占页数为(2^20*2^2)/2^12=1024页。因此,进程的页目录和页表共占1+1024=1025页。
步骤 4:计算进行地址转换时访问的二级页表数量
虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,因此访问的是同一个二级页表。因此,进行地址转换时共访问一个二级页表。
根据虚拟地址格式,页内偏移量为12位,因此页和页框的大小为2^12字节,即4KB。
步骤 2:计算进程的虚拟地址空间大小
虚拟地址总共有32位,其中页目录号和页表索引共占20位,因此进程的虚拟地址空间大小为2^20页。
步骤 3:计算进程的页目录和页表共占多少页
页目录项和页表项均占4个字节,即2^2字节。页目录项的总数为2^10,因此页目录所占页数为(2^10*2^2)/2^12=1页。页表项的总数为2^20,因此页表所占页数为(2^20*2^2)/2^12=1024页。因此,进程的页目录和页表共占1+1024=1025页。
步骤 4:计算进行地址转换时访问的二级页表数量
虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,因此访问的是同一个二级页表。因此,进行地址转换时共访问一个二级页表。