如何解决逻辑地址中有多少位?
| 好的,所以我在Stack周围做了一些搜索,找不到该问题的答案。这是在课堂上提到的,但是教授没有具体说明如何解决这个问题。 如果我们假设系统是64位,并且具有128GB的物理内存,但是我们希望进程以256GB的速度运行,那么如何计算逻辑地址所需的位? 到目前为止,我所做的所有研究都是针对2-4GB的物理内存,而我一生都无法弄清楚该如何计算。我需要知道这一点,以便了解页面的位移和进入...解决方法
所需的位数不仅取决于进程的大小,还取决于每个地址指向的字节数。
通用公式为:
num_of_bits = ceiling(log_2(size_of_process_in_bytes / bytes_pointed_by_an_address))
,也许这会有所帮助。给定一个32位,我们有:
2至32次方= 4294967296 => 4GB可通过32位字长访问的最大地址空间。
对于64位系统,我们有:
2到64的幂= 18446744073073709551616 => 16EB(EB = exbibytes)64位字长可访问的最大地址空间,实际上是无限的,但是我们受到硬件的限制(例如,我的主板仅支持最大24GB)。
希望这可以帮助!版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。