主存容量为4MB,虚存容量为1GB,则虚地址和物理地址各为多少位?如页面大小诶诶4KB,则页表长度是多少?
时间: 2024-04-05 19:36:04 浏览: 440
用户申请很大的一块内存,如何得到每页对应的物理地址
假设虚存和物理内存的页面大小均为4KB,则一个页面可以存储$2^{12}$个字节。因此,主存容量为4MB,即$4\times 1024\times 1024$字节,虚存容量为1GB,即$2^{30}$字节。我们可以计算出:
- 主存的页面数为$\frac{4\times 1024\times 1024}{2^{12}}=2^{20}$页。
- 虚存的页面数为$\frac{2^{30}}{2^{12}}=2^{18}$页。
因此,虚地址需要$18$位来表示页面号,$12$位来表示页内偏移量;物理地址同样需要$18$位来表示页面号,$12$位来表示页内偏移量。
对于页面大小为4KB的情况,页表长度等于虚存中页面数乘以每个页表项的长度。每个页表项需要包含一个有效位、一个物理页面号和一些附加信息(例如读写权限位等),因此页表项的长度通常为32位(4字节)。因此,页表长度为$2^{18}\times 4=2^{20}$字节,即$1MB$。
阅读全文