某32位计算机系统采用段页式虚拟存储管理,现有一个进程被分成5段,其段号和段长见下表,段内分页,页表见下,存放在内存中,每页的长度为4096B。进程运行到某一个指令,其地址为(2,3,010),当前CPU的寄存器和地址加法器的状态如图所示,当上述指令执行时

admin2013-07-12  38

问题 某32位计算机系统采用段页式虚拟存储管理,现有一个进程被分成5段,其段号和段长见下表,段内分页,页表见下,存放在内存中,每页的长度为4096B。进程运行到某一个指令,其地址为(2,3,010),当前CPU的寄存器和地址加法器的状态如图所示,当上述指令执行时,操作系统如何工作?CPU中各个寄存器和快表的值为多少?(均为十六进制)。

当前CPU的寄存器和地址加法器的状态:

请填写指令执行时的状况:

选项

答案根据题意,得到如下结果。 填写指令执行时的状况如下: [*]

解析 本题是考查对段页式存储管理的理解。段页式存储管理对进程分成段和页及页内偏移量。计算机在执行一条指令时,根据逻辑地址,首先查找段号,根据段基址寄存器,得到内存中的段表起始地址,找到段表,再根据段号指针从段表中得到相应段的起始页的指针。利用页表始址寄存器,找的页表在内存中的地址,然后与进程逻辑页号相加找到对应该逻辑页的页表项的地址,从内存中将该页表项取得,与页内偏移量相加,得到主存的地址。一般,段表和页表会部分地装入CPU的联想寄存器,以提高地址转换的速度。
本题中,逻辑地址(2,3,010)对应的段号为2,页号为3,页内偏移量为010,故计算:段始址是不变的,照抄;第2段的段长为20,当前的段内地址为3页,没有超过20,故越界中断为NO;根据段表,取得页号为16,页内偏移量为3,因此,相应的页表项应为19页,其页框号为778C1,因此,主存地址为778c1010(十六进制)。
转载请注明原文地址:https://jikaoti.com/ti/0wajFFFM
0

最新回复(0)