我有一台配备Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz处理器的笔记本电脑。
我正在使用Ubuntu 12.04 (x86_64)操作系统,并尝试找到有关我的处理器的一些信息。
我能够找到大部分我需要的信息,使用的是:
cat /proc/cpuinfo
并且
lscpu
我想了解的另一个问题是每个缓存级别使用的缓存策略。它是写回还是写直通?
有没有工具可以用来查找这样的信息?
提前感谢。
我有一台配备Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz处理器的笔记本电脑。
我正在使用Ubuntu 12.04 (x86_64)操作系统,并尝试找到有关我的处理器的一些信息。
我能够找到大部分我需要的信息,使用的是:
cat /proc/cpuinfo
并且
lscpu
我想了解的另一个问题是每个缓存级别使用的缓存策略。它是写回还是写直通?
有没有工具可以用来查找这样的信息?
提前感谢。
这不是您可以从CPUID或类似工具中查询的内容,也不能配置您的CPU进行其中一种操作,因此不存在用于查询的工具。您可以查询高速缓存关联性、高速缓存线大小和高速缓存大小等信息,例如通过 /proc/cpuinfo
。
在过去的10-20年中,所有兼容Intel的CPU都使用写回策略来进行高速缓存(这假定首先获取一个高速缓存行以允许部分写入)。当然,这只是理论,实际情况比这稍微复杂一些。
几乎所有处理器(包括您的型号)都有一种或多种写组合形式(或填充缓冲区,即自Merom起由Intel所称),除了最古老的兼容Intel的CPU支持来自SSE寄存器的无高速缓存写入(这再次使用一种写组合形式)。然后,当然,还有像芯片上高速缓存一致性协议和嗅探过滤器和其他机制,以确保在单个处理器的内核之间和在多处理器系统中的不同处理器之间的高速缓存一致性。
尽管如此——总的高速缓存策略仍然是写回。
AMD采用非常不同的方法: 他们的L1缓存是写穿透的,但具有一个微小的4k写组合缓存。 在AMD上不断重写大于4k的缓冲区将会在(慢)L2上形成瓶颈,而不是L1。
Agner博客中的其中一篇帖子中,有人声称BD的L2也是写穿透的,但Paul Clayton对此发表了评论并不同意。(我倾向于相信Paul。)
AMD Ryzen幸运地使用了普通的写回32kiB 8路L1D,带有私有写回512kiB L2。L3是一个共享的8MB牺牲缓存。它是写回缓存,但牺牲缓存意味着数据仅在从L1/L2逐出时才进入其中,而不是直接用于加载/预取。每个4核心的核心集群(CCX模块)都有自己的8MB L3,不同集群之间核心的延迟/带宽很糟糕。 关于高速缓存层次结构,除了写回与写直通之外还有更多内容需要讲述,虽然对于单线程程序大部分差异并不重要。(除非操作系统的进程调度程序将它们移动到Ryzen的不同集群中,这样就不好了。)sudo dmidecode
生成包括以下内容的输出:
Handle 0x0005, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 32 kB
Maximum Size: 32 kB
Supported SRAM Types:
Other
Installed SRAM Type: Other
Speed: Unknown
Error Correction Type: None
System Type: Unified
Associativity: 8-way Set-associative
所以缓存是写回的事实至少在BIOS中有体现,如果这是可信的。我很好奇它在AMD CPU上显示什么,或者BIOS编写者是否倾向于只是"编造一些东西"并有时在那里放置错误的值。
正如这个问题所指出的那样,L2的信息有点虚假:它总结了每个核心私有的256k L2:
Handle 0x0006, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2-Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Varies With Memory Address
Location: Internal
Installed Size: 1024 kB
Maximum Size: 1024 kB
Supported SRAM Types:
Other
Installed SRAM Type: Other
Speed: Unknown
Error Correction Type: None
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0007, DMI type 7, 19 bytes
Cache Information
Socket Designation: L3-Cache
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Unknown
Location: Internal
Installed Size: 6144 kB
Maximum Size: 6144 kB
Supported SRAM Types:
Other
Installed SRAM Type: Other
Speed: Unknown
Error Correction Type: None
System Type: Unified
Associativity: Other
这是在一台i5-2500k上(四核心Sandy Bridge处理器,配备6MiB的L3缓存)。