【问题标题】:RAM / AddressesRAM / 地址
【发布时间】:2013-05-14 11:37:38
【问题描述】:

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

如果您希望所有 4GB 的 RAM 和包括大屏幕显示器在内的所有外围设备都可以访问,地址总线需要多大?

我完全被这个问题所困扰,如果有人可以提供帮助,那就太好了。

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

【问题讨论】:

  • 机器有mmu吗?如果是,则不需要更大的地址空间。

标签: cpu ram memory-address


【解决方案1】:

免责声明。我在本科和研究生院的计算机体系结构课上都取得了“C”。所以对这个答案持保留态度。

供参考:

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 是:

4101 * 1024 * 1024 = 4300210176

所以有效地址范围是从 0..4300210175(减去 1,因为“0”是有效地址)

4300210175 二进制如下:

100000000010011111111111111111111

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

假设原始地址总线为 32 位,新的地址总线需要增加 1。地址空间中的额外位为现有外围设备提供了足够的空间和添加更多设备的空间。

我直觉地认为,如果每一个新的地址行都将前一组的地址空间加倍,那么推断“1”作为答案是显而易见的。

要么我是一个大器晚成的人,要么你会明白为什么我在建筑课上做得不好。

【讨论】:

  • 所以地址总线需要大1位?只是 2^33 - 2^32 吗?
  • 正确。你正在从 2^32 增长到 2^33。
  • 意味着它需要 4GB 更大的地址总线,对吗?顺便说一句,我非常感谢您的及时回复和您的帮助。谢谢塞尔比!
  • 你说对了吗?我不知道。我在这堂课中取得了“C”。那是很久以前的事了。 :)
  • 1280x800 显示器是 256 种灰度还是彩色? 1280*800=1024000 所以 1 兆字节每个像素只分配 1 个字节(颜色每个像素占用 3 个字节。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-15
相关资源
最近更新 更多