【问题标题】:Does each core has its own private set of registers?每个内核都有自己的私有寄存器集吗?
【发布时间】:2015-05-03 03:53:53
【问题描述】:

从这个英特尔酷睿 i7 nehalem 微架构来看

似乎每个内核都有自己的私有寄存器文件。所以我有几个简短的问题,因为我认为只有一组寄存器不依赖于内核数量。

  • 是否每个内核都有自己的私有寄存器集? (rax、rbx、rsp 等。)
  • 是否每个内核都有自己的 MMU 和 TLB?不只是一个在所有内核之间共享?

我知道这些问题高度依赖于微架构,但我认为大多数现代 x64 英特尔 CPU 都遵循相同的设计原则。

【问题讨论】:

  • 请注意,这里的问题似乎离题了:“有关通用计算硬件和软件的问题对于 Stack Overflow 来说是离题的,除非它们直接涉及主要用于编程的工具。”
  • @njuffa 井寄存器与编程有关,因此最好了解它们:)
  • 虽然每个都有自己的寄存器,但一般不支持在加载 rax、rbx、rsp 等时指定设置哪个内核。

标签: memory memory-management cpu-registers cpu-architecture


【解决方案1】:

每个内核都有自己的一组寄存器、MMU、TLB、1 级缓存(数据和指令)、2 级缓存(这取决于处理器)等。通过“QPI”和在这种情况下跨内核支持缓存一致性对于高端 Core 7 和 Xeon 等基于服务器的处理器,通过在这些处理器的外部引脚上暴露“QPI”(对于不支持多处理器缓存一致性的处理器),多处理器主板上的处理器支持缓存一致性, “QPI”不是“暴露的”)。

维基文章:Nehalem

【讨论】:

    【解决方案2】:

    是的,每个内核都有自己的一组寄存器。 “核心”相当于插座上的独立 CPU,但“多核”的电子接线很简单。

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 2015-05-03
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多