lshw和lscpu在缓存上存在分歧-正确吗?


14

我试图找出有关缓存的详细信息(特别是哪些缓存在内核之间共享,哪些不在内核之间),并且陷入了不一致的境地。

sudo lshw

*-cache:0
     description: L1 cache
     physical id: a
     slot: Internal Cache
     size: 64KiB
     capacity: 64KiB
     capabilities: synchronous internal write-back
*-cache:1
     description: L2 cache
     physical id: b
     slot: External Cache
     size: 8MiB
     capabilities: synchronous internal write-back

lscpu声称

L1d cache:   32K
L1i cache:   32K
L2 cache:   256K
L3 cache:  8192K

我不太担心将指令和数据缓存一起添加,但是L2到底去了哪里?

在运行Ubuntu 10.10的计算机上观察到的,或者可以这样uname -a说:

Linux name 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC 2012 x86_64 GNU/Linux

这是一个普遍的问题,但是请注意,我找不到的最精确的制造商规格Wikipedia都没有必要的细节。

不相关的奖金问题:是否 External Cache意味着缓存在(四个)核心之间共享(而Internal Cache相反)?


两个想法。首先,制造商怎么说?我的方法可能是查找CPU的规格,然后尝试从那里进行推理。其次,如果您能做得到,我很想知道如果您在为最新的Ubuntu或Fedora启动Live CD / USB之后尝试了此操作,会得到什么。(也许这是一个已经修复的错误?我想还有其他方法可以检查错误是否存在并已修复,但是...)
不合理的约翰·

@irrationalJohn:关于官方规格的要点(尽管与更一般的问题无关)。可悲的是,规范甚至都没有帮助(请参阅编辑)。另外,我不能篡改机器。
拉斐尔

Answers:


3

感谢您向问题中添加有关处理器的其他信息。知道您发布的示例引用了会很有帮助Intel Core i7-920 Processor

所提供的信息lscpu更为准确,因为它包括所有三个级别的缓存L1,L2和L3。似乎lshw仅对其进行了最小程度的修改,以反映出Intel向其CPU添加了L3缓存。关于L3高速缓存大小的信息显然不报告为所有三个高速缓存级别,而是显示为L2高速缓存。

我假设您查看的规格不包括L1和L2缓存,因为在给定的微体系结构中它们都是相同的。例如,对于Nehalem,这是64 KB L1高速缓存/核心(32 KB L1数据+ 32 KB L1指令)和256 KB L2高速缓存/核心。 ”。

我相信,作为一个核心的一部分,首先引入了一个更大的通用L3,为每个核心提供了自己的L1和L2。 Nehalem(微体系结构)的(在2008年11月?)。

我不知道为什么lshw用这个术语External Cache来指代L3。但这使我感到误解,因为三级缓存位于CPU的死角上,而不是我认为是外部的。同样,这感觉就像是尝试使用旧软件来描述更新的硬件,同时仅对软件进行了最小的更改。

(通过查看实际的源代码可能可以学到更多,但是我没有时间尝试这样做。)

最后,是的,L3缓存在内核/线程之间共享。以下引用来自上面链接的Wikipedia文章:“ 重新引入了超线程,同时减少了L2,L2缓存已合并为所有内核都可以使用


感谢您对规格的帮助。但是,如果我们有伪装成我们想要的工具的话,那么就不得不寻找规格。
拉斐尔2012年

@RI不知道您正在(仍在)寻找某些东西。坦白说,我通常遇到的问题是提供的信息太多。您对哪种信息感兴趣?在Intel i7-920页面的右侧,您会看到快速链接。数据表链接将您带到技术文档页面。i7-900处理器上有两卷,甚至没有列出机械规格和热规格。软件开发人员在另一页上进行介绍。太多了,无法列出。
非理性的约翰

好吧,我对并行算法进行了基准测试,因此缓存体系结构非常重要。令人吃惊的是,GNU / Linux工具显然不可靠。无论如何,问题更多是关于工具,而不是我正在使用的特定机器。
拉斐尔2012年

@Raphael我真的不知道为什么要lshw返回它的缓存结果。但是可能他们出于担心的原因不想更改其输出格式,因此可能会破坏解析其输出的脚本。您可以使用软件工具轻松地将自己描绘在一个角落。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.