每个核心是否都有自己的私有寄存器集?
Does each core has its own private set of registers?
从这个英特尔酷睿 i7 nehalem 微架构来看
似乎每个内核都有自己的专用寄存器文件。所以我有几个简短的问题,因为我认为只有一组寄存器不依赖于内核数量。
- 每个核心是否都有自己的专用寄存器组? (rax、rbx、rsp 等。)
- 是否每个内核都有自己的 MMU 和 TLB?不只是所有内核共享一个吗?
我知道这些问题高度依赖于微架构,但我认为大多数现代 x64 英特尔 cpu 都遵循相同的设计原则。
每个内核都有自己的一组寄存器、MMU、TLB、1 级缓存(数据和指令)、2 级缓存(这取决于处理器)等。通过 "QPI" 跨内核支持缓存一致性在高端 Core 7 和基于服务器的处理器(如至强)的情况下,通过在这些处理器的外部引脚上公开 "QPI" 来在多处理器主板上跨处理器支持缓存一致性(对于多处理器不支持处理器高速缓存一致性,"QPI" 不是 "exposed")。
维基文章:Nehalem
是的,每个核心都有自己的一组寄存器。 "Core" 相当于单独的 CPU 在插座上,但是 "multicore" 电子接线很简单。
从这个英特尔酷睿 i7 nehalem 微架构来看
似乎每个内核都有自己的专用寄存器文件。所以我有几个简短的问题,因为我认为只有一组寄存器不依赖于内核数量。
- 每个核心是否都有自己的专用寄存器组? (rax、rbx、rsp 等。)
- 是否每个内核都有自己的 MMU 和 TLB?不只是所有内核共享一个吗?
我知道这些问题高度依赖于微架构,但我认为大多数现代 x64 英特尔 cpu 都遵循相同的设计原则。
每个内核都有自己的一组寄存器、MMU、TLB、1 级缓存(数据和指令)、2 级缓存(这取决于处理器)等。通过 "QPI" 跨内核支持缓存一致性在高端 Core 7 和基于服务器的处理器(如至强)的情况下,通过在这些处理器的外部引脚上公开 "QPI" 来在多处理器主板上跨处理器支持缓存一致性(对于多处理器不支持处理器高速缓存一致性,"QPI" 不是 "exposed")。
维基文章:Nehalem
是的,每个核心都有自己的一组寄存器。 "Core" 相当于单独的 CPU 在插座上,但是 "multicore" 电子接线很简单。