2

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

4

1 回答 1

2

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

8.7.13.1 “处理器缓存”

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

在我的理解中,这意味着你有 1 个物理核心,启用了超线程,给你 2 个逻辑核心。这些逻辑核心几乎共享物理核心的所有资源,包括所有缓存,因此不需要缓存一致性协议,两个核心始终看到相同的缓存状态。

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

2005 年 5 月,Colin Percival 证明,在 Pentium 4 上,恶意线程可以使用定时攻击来监控与其共享缓存的另一个线程的内存访问模式,从而窃取密码信息。

于 2015-05-23T22:10:06.550 回答