Caching mesi缓存一致性协议是否适用于具有2个逻辑核的单处理器?

Caching mesi缓存一致性协议是否适用于具有2个逻辑核的单处理器?,caching,multicore,mesi,Caching,Multicore,Mesi,我使用的是Intel Atom处理器(正版Intel(R)CPU)。我已经完成了cat/proc/cpuinfo。它显示了两个处理器,但对于物理和核心id,它显示为0。我使用grep“^core id”/proc/cpuinfo | sort-u | wc-l查找cpu内核的数量。它正在显示1。这是什么意思?它是否只有一个物理核和两个逻辑核?mesi缓存一致性协议是否适用于这种情况?摘自《英特尔体系结构手册》第3卷: 8.7.13.1“处理器缓存” 对于支持英特尔超线程技术的处理器,缓存是共享的

我使用的是Intel Atom处理器(正版Intel(R)CPU)。我已经完成了cat/proc/cpuinfo。它显示了两个处理器,但对于物理和核心id,它显示为0。我使用grep“^core id”/proc/cpuinfo | sort-u | wc-l查找cpu内核的数量。它正在显示1。这是什么意思?它是否只有一个物理核和两个逻辑核?mesi缓存一致性协议是否适用于这种情况?

摘自《英特尔体系结构手册》第3卷:

8.7.13.1“处理器缓存”

对于支持英特尔超线程技术的处理器,缓存是共享的。任何缓存 在一个逻辑处理器上执行的操作指令 对物理处理器的缓存层次结构的全局影响

在我的理解中,这意味着您有一个物理内核,启用了超线程,并提供了两个逻辑内核。这些逻辑核几乎共享物理核的所有资源,包括所有缓存,因此不需要缓存一致性协议,两个核总是看到相同的缓存状态

下面提到了一个有趣的副作用:

2005年5月,科林·珀西瓦尔证明,在奔腾4上 恶意线程可以使用定时攻击来监视内存访问 与之共享缓存的另一个线程的模式,允许 窃取加密信息


修改和未修改之间的区别仍然很重要(更换时,必须写回修改过的缓存线),有效和无效之间的区别也很重要(缓存可能以所有无效的缓存线开始,如果任何I/O设备没有嗅探到缓存线,则缓存系统软件可能会刷新缓存线,使它们对这些设备可见)。对于包含式二级缓存,如果I/O设备窥探缓存系统,二级缓存自然会过滤窥探,使其不会到达需要附加状态的一级缓存。