首页
学习
活动
专区
圈层
工具
发布

RAM /地址
EN

Stack Overflow用户
提问于 2013-05-20 07:33:31
回答 1查看 646关注 0票数 1

一台机器有4 4GB的RAM,处理器是32位。大屏幕(显示器)至少需要2^21个地址,而机器已经支持一个分辨率为1280x800的屏幕,这相当于需要1024000个地址。其他一些外围设备的地址空间至少还要占用2^21个地址。

如果你想要访问所有4 4GB的RAM和上面的所有外设,包括大屏幕显示器,地址总线需要多大?

我完全被这个问题卡住了,如果有人能提供帮助,那就太好了。

我期待着收到任何人的来信。

EN

回答 1

Stack Overflow用户

发布于 2013-05-20 08:01:23

免责声明。我在本科生和研究生的计算机架构课上都得了"C“。因此,对这个答案持保留态度。

供参考:

代码语言:javascript
复制
2^21 is 2MB
2^20 is 1MB
2^32 is 4GB == 4096 MB

大屏幕显示器需要2MB。另一台1280x800显示器需要1MB。外设地址空间也是2MB,所以所有显示器和设备总共有5MB。

因此,总地址空间为4096 MB + 5MB == 4101 MB

向外扩展4101 MB是:

代码语言:javascript
复制
4101 * 1024 * 1024 = 4300210176

所以有效的地址范围是从0到4300210175(减去1,因为"0“是一个有效的地址)

4300210175的二进制表示如下:

代码语言:javascript
复制
100000000010011111111111111111111

这是一个33位宽的地址空间

假设原来的地址总线是32位,新的地址总线需要增加1。这额外的一位地址空间为现有的外围设备提供了足够的空间,并为添加更多的设备留出了空间。

我凭直觉认为,如果每个新的地址线都会使前一个地址集的地址空间加倍,那么推导出"1“作为答案是显而易见的。

不是我大器晚成,就是你知道为什么我在架构课上考得不好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16640598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档