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

时间:2014-06-11 07:15:05

标签: caching multicore mesi

我正在使用英特尔凌动处理器(原装英特尔(R)CPU)。我做过cat / proc / cpuinfo。它显示了两个处理器但是对于物理和核心ID,它显示为0.我做了grep“^ core id”/ proc / cpuinfo | sort -u | wc -l找不到cpu核心。它显示1.这是什么意思?它只有一个物理核心和两个逻辑核心吗?在这种情况下,mesi缓存一致性协议是否适用?

1 个答案:

答案 0 :(得分:2)

来自英特尔架构手册第3卷:

  

8.7.13.1“处理器缓存”

     

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

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

http://en.wikipedia.org/wiki/Hyper-threading上提到了一个有趣的副作用:

  

2005年5月,Colin Percival在奔腾4上证明了这一点   恶意线程可以使用定时攻击来监视内存访问   与其共享缓存的另一个线程的模式,允许   窃取加密信息。