【问题标题】:Operating System Logical and Physical Address Mapping操作系统逻辑和物理地址映射
【发布时间】:2013-12-22 09:45:34
【问题描述】:
问题在这里:
考虑一个 32 页的逻辑地址空间,页大小为 512 个字,
映射到 128 帧的物理内存。
我想知道我在下面的尝试计算是否正确:
到目前为止,我已经来了:
**
32 pages = 2^5 bits
512 words = 2^9 bits
128 frames = 2^7 bits
**
如果我不知道字长,如何计算逻辑地址和物理地址?
【问题讨论】:
标签:
memory-management
operating-system
memory-address
【解决方案1】:
字长取决于计算机架构。通常对于 32 位 CPU,字长为 32 位(4 字节),而对于 64 位 CPU,字长为 64 位(8 字节)。
* 逻辑地址将由 CPU 为特定进程生成,您无需计算任何内容。当 CPU 生成逻辑地址时,它将通过页映射表或内存管理单元 (MMU) 中的快速缓存映射到物理地址。
* 关于上面给出的细节,您的 CPU 生成 14 位的逻辑地址,因此它可以寻址(内存中的 2^14 个字)。假设您的处理器是 32 位的,那么它可以访问 2^16 个字节。
* 给定 14 位的逻辑地址,它使用页的前 9 位查找页映射表。然后它在物理内存中找到页面实际所在的地址,并将偏移量添加到物理地址以找到主内存中的内存位置。