gpt4 book ai didi

memory-management - 确定给定地址的页码和偏移量

转载 作者:行者123 更新时间:2023-12-04 04:05:53 25 4
gpt4 key购买 nike

考虑一个具有 32 位逻辑地址和 4KB 页大小的计算机系统。系统支持高达 512MB 的物理内存。

How many entries are there in a conventional single-level page table?

Conventional single-level page table: 2^32 / 2^12 (4000)  = 2^20 = 1,048,576


为什么我必须 divide 2^32 / 2^12得到答案?

How many entries are there in an inverted page table?

An inverted page table needs as many entries as there are page frames in memory.

Inverted page table: 2^29 (512mb)/ 2^12 (4000) = 2^17 = 131,072


为什么我必须 divide 512mb / page size获取倒排页表条目?

What are the page numbers and offsets for the following address references: a) 30000, b) 256, c) 0xbcf034

a) 30000 in hex: x7530 Page #: x7 = 7 offset: x530 = 1328

b) 256 in hex x100 Page #: x0 = 0 offset: x100 = 256

c) 0xbcf034 Page #: xbcf = 3023 offset: x034 = 22



如何根据十六进制地址找出这些页码和偏移量?

我知道答案,但我想了解为什么和如何。有人可以详细解释一下:)

最佳答案

为什么我必须除以 2^32/2^12 才能得到答案?

2^32 ==> 总虚拟内存大小

4KB=2^12 ==> 单页大小

2^32/2^12 =2^20 ==> 虚拟内存的总页数

所以页表将有 2^20 = 1M 个条目

倒排页表中有多少个条目?

2^29=512MB ==> 总物理内存

2^12 = 页面大小 = 框架大小

2^29/2^12 =2^17 ==> 物理内存中的总帧数

所以反向页表将有 2^17 = 128K 个条目

这个图可能会清除您剩余的疑虑:

enter image description here

关于memory-management - 确定给定地址的页码和偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com