memory - 每个内核都有自己的私有(private)寄存器集吗?

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

看看这个 Intel core i7 nehalem 微架构 enter image description here

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

  • 每个内核都有自己的私有(private)寄存器集吗? (RAX、RBX、RSP 等)。
  • 每个内核都有自己的 MMU 和 TLB 吗?不仅仅是所有核心共享一个?

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

最佳答案

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

维基文章:Nehalem

关于memory - 每个内核都有自己的私有(private)寄存器集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28815848/

相关文章:

python - 压缩大型 python 对象

c - 用于在网格上查找路径的最有效内存算法

debugging - 为什么GDB在寄存器信息期间用5填充内存地址的0?

python - 使用集合理解避免内存错误

c++ - 获取寄存器/缓存中的当前值?

C++ 将 SSE 代码转换为 AVX

python - 如何在类中使用变量来提高内存效率?

python - 在 python 中使用组合来处理非常大的序列

performance - JavaFX:List 与 ObservableList 性能/内存使用情况

c - 使用 malloc 将内存分配给结构指针和将结构指针指向结构的内存地址有什么区别?