问题是:
考虑一个 256 页的虚拟地址空间,页大小为 4KB,映射到 128 帧的物理内存。虚拟地址总共需要多少位?物理地址总共需要多少位?
我无法弄清楚如何将帧数与页数一起使用以找到所需的位。
有人可以解释解决此问题所需的步骤吗?
问题是:
考虑一个 256 页的虚拟地址空间,页大小为 4KB,映射到 128 帧的物理内存。虚拟地址总共需要多少位?物理地址总共需要多少位?
我无法弄清楚如何将帧数与页数一起使用以找到所需的位。
有人可以解释解决此问题所需的步骤吗?
尽管我讨厌这些不切实际的理论问题,但我会咬一口:
虚拟地址空间中有 256 个页面。这意味着识别页面需要 8 位。
页大小为 4096 字节。表示这么多字节需要 12 位。
因此,虚拟地址需要 20 (8+12) 位。
有 128 个页框。这需要 7 位。
因此,物理地址需要 19 (7+12) 位。
在谈论物理内存时,还有偏移位。因此,假设可以容纳 8 位的偏移量,它确实是 7 + 12,但您必须考虑多 8 位。一般来说,偏移量等于 [logical_address]mod[page_size]。