简单分页存储管理中若从取指令开始成功执行Mov EAX,0x600(表示从逻辑地址0x600处取数据加载到EAX寄存器),需要访问内存几次?各是哪几次?
时间: 2023-08-31 11:26:04 浏览: 32
### 回答1:
简单分页存储管理的访问过程如下:
1. 从逻辑地址0x600中获取页号和页内偏移量。
2. 判断页表是否存在,如果不存在则需要访问一次页表。
3. 如果页表存在,则根据页号获取物理页框号。
4. 判断物理页框是否存在,如果不存在则需要访问一次页目录表。
5. 如果物理页框存在,则根据页内偏移量获取物理地址。
6. 访问物理地址,将其中的数据加载到EAX寄存器中。
因此,需要访问2次页表和1次页目录表,共计3次内存访问。
### 回答2:
简单分页存储管理中,执行Mov EAX,0x600指令需要访问内存两次。
第一次访问内存是获取页目录项。根据逻辑地址0x600,可以计算出对应的页目录项的偏移量为0x1,且页目录的基地址默认为0x0,所以需要访问内存地址0x0+0x1 = 0x1来获取页目录项。
第二次访问内存是获取页表项。根据页目录项获取到的页表基地址为0x200,页表项的偏移量计算为0x600的高10位,即0x600 >> 12 = 0x0,所以需要访问内存地址0x200+0x0 = 0x200来获取页表项。
通过前两次的访问,可以获得物理地址0x600,然后将该地址中的数据加载到EAX寄存器中。
### 回答3:
在简单分页存储管理中,若从取指令开始成功执行Mov EAX,0x600指令,需要访问内存两次。具体的访问次序如下:
1. 首先,需要从逻辑地址的高20位中找到对应的页表项,得到对应的页表基地址。因为逻辑地址0x600的高20位为0,所以需要访问页表项0号。
2. 接着,需要从页表基地址加上页表项0号的低12位得到页面基地址。通过访问内存,找到页表项0号,得到了页面基地址为0x123。
3. 最后,需要将页面基地址与逻辑地址低12位进行相加,得到最终物理地址0x123+0x600=0x723。然后,将物理地址0x723中的数据加载到EAX寄存器中。
所以,成功执行Mov EAX,0x600指令需要访问内存2次。第一次是访问页表项,第二次是访问页面。