昨天,我在思考为什么操作系统不能使用整个 64 位进行寻址?我发现了另一个有趣的事情。让我们以英特尔酷睿 2 双核处理器为例。
从英特尔酷睿 2 双核处理器 E8000 和 E7000 系列的“4.2 字母信号参考” - 数据表我知道它有 36 条地址线和 64 条数据线。数据手册将地址线称为 A[35:3],将数据线称为 D[63:0]。
这究竟意味着什么?这是我从上面的理解(几乎没有未回答的问题):
- 因为,有 36 条地址线。总可寻址内存为 2^36=64GB,每个物理内存位置(字节)由 36 位数字寻址。
- 因为,没有提到 A[2:0]。这意味着 MMU(更具体的分页单元)在将虚拟地址转换为物理地址(在地址表的帮助下)之后,它只在地址线 A[35:3] 上放置了 33 个最高有效位。RAM 发送所有 8 个可能的字节(具有 3 个 LSB,A[2:0]),即。对于这 8 个字节范围内的任何请求。RAM 发送相同的 8 字节数据。正确的?我想这样做是为了提高效率。
- 接下来发生什么?我的意思是 MMU 需要 1 个字节的数据,但 RAM 发送了 8 个字节。它将如何处理?
- 自英特尔启用 PAE 以来,此地址总线宽度是否为 36 位?
- 我无法在新的处理器数据表(英特尔® 酷睿™ i7 处理器至尊版)中找到地址总线和数据总线宽度。:( 帮我!