【问题标题】:Need little more clarification on address lines of processor需要更多关于处理器地址线的说明
【发布时间】:2011-03-14 13:14:36
【问题描述】:

昨天,当我在思考Why can’t OS use entire 64-bits for addressing? 时,我发现了另一个有趣的事情。我们以 Intel Core 2 Duo 处理器为例。

Intel Core 2 Duo Processor E8000 and E7000 Series - Datasheet 的“4.2 Alphabetical Signals Reference”我了解到它有 36 条地址线和 64 条数据线。数据手册将地址线称为 A[35:3],将数据线称为 D[63:0]。

这究竟意味着什么?这是我从上面的理解(几乎没有未回答的问题):

  1. 因此,有 36 条地址线。总可寻址内存为 2^36=64GB,每个物理内存位置(字节)由 36 位数字寻址。
  2. 因为没有提到 A[2:0]。这意味着 MMU(更具体的分页单元)在将虚拟地址转换为物理地址(在地址表的帮助下)之后,它只在地址线 A[35:3] 上放置了 33 个最高有效位。 RAM 发送所有 8 个可能的字节(具有 3 个 LSB,A[2:0]),即对于这 8 个字节范围内的任何请求。 RAM 发送相同的 8 字节数据。正确的?我想这样做是为了提高效率。
  3. 接下来会发生什么?我的意思是 MMU 需要 1 个字节的数据,但 RAM 发送了 8 个字节。它将如何处理?
  4. 自从英特尔启用 PAE 以来,此地址总线宽度是否为 36 位?
  5. 我无法在新的处理器数据表(Intel® Core™ i7 Processor Extreme Edition 中找到地址总线和数据总线宽度。 :( 帮帮我!

【问题讨论】:

  • 想一想——数据总线是 64 位(8 字节)宽。不过,这并不是一个真正的编程问题,因此您可能希望将其带到 superuser.com。
  • @Paul R:思考不是问题。问题是我的想法在多大程度上是正确的。这就是为什么而不是直接问我的问题。我写了我的想法

标签: assembly x86 computer-architecture


【解决方案1】:

大约 5 个: Core i7 架构使用 3 个(片上)内存控制器(每个通道一个控制器),每个通道的宽度为 64 位。

但是当然你不能在哪里使用 3*64 位,因为 SSE 单元与 128 位线连接到 L1 缓存(当然是两条 64 位缓存线) .

三个Channel只对同时快速预取不同地址有用。

但是在 GPR 上你只能使用 64 位(因为它是 64 位架构)。

地址空间也应该是 36 位,因为如果你永远无法连接这么多内存,你还需要其他位做什么。

【讨论】:

  • 无意冒犯,看来您对内存寻址的理解并不完整。 GPR 中的地址只是地址的一部分。为此,您必须添加一个段基地址才能获得线性地址,并且需要通过页表将其转换为物理地址。页表的构建方式使您可以创建高达 64 位宽的地址,足以覆盖 PAE 所需的 36 位。
  • 当你说你不能访问 3*64 位时你也错了。当您有多个线程或内核时,这使它们能够并行而不是按顺序访问内存,从而提高性能。
  • 我写了同样的...这里“这三个通道仅对同时快速预取不同地址有用。”,我只是说,你到底在哪里有 SSE 操作或其他什么使用 3*64 位?对,无处,只有 128 位操作可用(SSE 的东西)
  • @'Nathan Fellman' ,今天用64位地址有什么用,对吧,200年后才有用……所以限制真实地址空间是可以的到 36 位(今天)
  • 我的观点是,当有多个线程在运行时,可能会生成超过 128 位宽的填充缓存的请求,因为每个线程可以同时请求 128 位。此外,无论当前运行的指令如何,预取器都可以填充缓存。这就是为什么当您可以读取 3*64 位时,您的性能会提高。关于64位地址的使用,架构就足够了,在可预见的未来Intel和AMD都不需要增加地址空间,这是非常复杂的。 36位只有64GB,对于大型服务器来说还不够
【解决方案2】:

芯片的字节使能 (BE) 引脚指定 8 字节块中的哪些位实际上是相关的。

要访问地址 0x1,您将 A[35:3] 上的全零设置为 BE[1](我的 BE 引脚编号和极性可能有点错误,但想法仍然正确)。

要访问字节 0x3:0x0,请将 A[35:3] 上的全零设置为 BE[3:0]。

这应该回答问题 1、2 和 3。

关于问题 4,实际上是 PAE 允许您使用 36 位地址。在后来的处理器中,同样可以通过 64 位模式分页实现。

无法帮助 5...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 2019-05-14
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多