开发者社区> 问答> 正文

大家晒下自己的CPU 型号和CACHE 情况 (限LINUX):报错

因为我不知道WINDOWS下怎么看。LINUX下很方便,你们在如下目录

/sys/devices/system/cpu/cpu0/cache

你也可以执行

grep . /sys/devices/system/cpu/cpu0/cache/index*/*

这样会把CPU0的各个CACHE参数列出来。

我的 CORE 2 I5-2500 ,2500元入手的。L1 L2 是X4的,每个CORE都有自己的。L3是复用的。如下

L1 ,data 32Kbyte 。 ways 8 ,line 64 ,set 64

L1 ,code 32Kbyte 。 ways 8 ,line 64 ,set 64

L2  code 和data 复用 , 256Kbyte ,ways 8 ,line 64 ,set 512

以上是 X4,4个核。

L3 复用,且4个核共同复用 6144Kbytes , 12ways

理论上WAYS 大会更好些。 LINE大对于64位OS更好写。当然TOTAL越大越好。

对新手补充点小知识。

CACHE总体积 = ways * line(byte in one line) * sets

line的意思是,每次CACHE的数据操作,不是一个BYTE或者一个32位,或者64位,而是一组数据,通常是寄存器的数据位宽2到8倍左右。当然也有特例。这样做的目的是,如果你尝试连续计算一组数据,那么a[0] 读取时,a[1]也会同时读取上来,而时间还是一个读取周期(读到当前CACHE)。

set的意思,一个连续的空间,可以在CACHE里连续存放的line的数量。因此我的上面set * lines = 4096.就是说这连续的4096个byte 之间,永远不会在CACHE里面打架冲突。

ways的意思是,上述4096通常算一个页面PAGE,但是我的CACHE如果大于一个PAGE了,则希望在PAGE内相同偏移量的不同PAGE里的数据,能够相互不打架。那么如果有相同偏移量的不同PAGE不打架的数量就是WAYS。

简单的举例,一群人住酒店。我们根据先来后到,做个排序,0.1,2,3,。。N。每个房间可以住下L个人。有W个楼层。每个楼层有S个房间,每个房间的档次都不一样。每个楼层则可以住下L*S个人。

那么你编号取模 L*S,则决定了你只能住某个具体档次的房间,无论是哪个楼层。而你每次入住都会拉前拽后的,纠集和你号码相邻的L个人一起进出。但你住哪个楼层,则根据目前哪个楼层的对应你能的档次房间是否有空来决定,如果都满了,系统会赶走一个不交钱或者交钱最少的出去。

也就是说,可能你的相邻号码属于隔壁房间的,但也有可能不在同一个楼层里面。

上面的L,S,W,就都应line ,set ,way.


展开
收起
kun坤 2020-06-07 22:23:47 576 0
1 条回答
写回答
取消 提交回答
  • 引用来自“大东哥”的答案

    L1 ,data 32Kbyte 。 ways 8 ,line 64 ,set 64 

    L1 ,code 32Kbyte 。 ways 8 ,line 64 ,set 64

    L2  code 和data 复用 , 3072Kbyte ,ways 12 ,line 64 ,set 4096


    多少钱?什么型号,靠,L2比我的大这么多。我只有想办法在价格上挽回点平衡了。
    ######回复 @中山野鬼 : ……够新了,Ivy Bridge还没正式上市,2500很潮了好不。######回复 @我土鳖 : 是的。都快成馊肉了。######回复 @中山野鬼 : Core发展到现在,算是有4代产品了。第一代是Core 2,第二代是Core ix xxx,第三代Core ix 2xxx,第四代Core ix 3xxx。按照这个来算,你的2500是第三代。######回复 @我土鳖 :我是2代。######我记得第一代Core 2的L2缓是所有核心共享的,相当于现在新Core的L3。######

    L1 ,data 32Kbyte 。 ways 8 ,line 64 ,set 64 

    L1 ,code 32Kbyte 。 ways 8 ,line 64 ,set 64

    L2  code 和data 复用 , 3072Kbyte ,ways 12 ,line 64 ,set 4096


    ######pc机已经被我折腾挂了, 正准备等月底的i7 3770 发布, 入手一块玩玩, 22nm技术ivy bridge架构的u, 想必是相当的强劲, 而且功率小.######有米人######输入上面的命令,没出现啥呃。。
    ######你终于有东西出来了, 整理了一下, 应该就这些了吧: L1, Data, 32K, way: 8, line: 64, set 64 L1, Instruction, way: 8, line: 64, set: 64 L2, Unified, way: 8, line: 64, set: 512 L3, Unified, way: 12, line: 64, set: 4096######嗯,是的。ubuntu12.04 LTS beta2很蛋疼, 风扇转得让人心疼。。######不是吧。其实有跟简单的做法。网络上有。最笨的办法就是自己到那个目录下看文件内容。######

    之前发的少了size, 重发一遍:

    L1, Data, 32K, way: 8, line: 64, set 64

    L1, Instruction, 32K, way: 8, line: 64, set: 64

    L2, Unified, 256K, way: 8, line: 64, set: 512

    L3, Unified, 3072K, way: 12, line: 64, set: 4096

    ######没错.######莫非是上一代的I5?L3比我少一半,是不是2核4进程的。######
    index0/coherency_line_size:64
    index0/level:1
    index0/number_of_sets:64
    index0/physical_line_partition:1
    index0/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    index0/size:32K
    index0/type:Data
    index0/ways_of_associativity:8
    index1/coherency_line_size:64
    index1/level:1
    index1/number_of_sets:64
    index1/physical_line_partition:1
    index1/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    index1/size:32K
    index1/type:Instruction
    index1/ways_of_associativity:8
    index2/coherency_line_size:64
    index2/level:2
    index2/number_of_sets:4096
    index2/physical_line_partition:1
    index2/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
    index2/size:6144K
    index2/type:Unified
    index2/ways_of_associativity:24

    ######回复 @中山野鬼 : 服务器的,自己用的是windows######L2这么大,24way。L1不大,应该不是AMD的。是老型号吗?怎么感觉像服务器的CPU。######
    ######一代I3 390的本本飘过~~~######我的笔记本也是I5的。可惜不是2代。。。。######哎~~不晒了.怕打击你们######index0/coherency_line_size:64
    index0/level:1
    index0/number_of_sets:64
    index0/physical_line_partition:1
    index0/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    index0/size:32K
    index0/type:Data
    index0/ways_of_associativity:8
    index1/coherency_line_size:64
    index1/level:1
    index1/number_of_sets:128
    index1/physical_line_partition:1
    index1/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    index1/size:32K
    index1/type:Instruction
    index1/ways_of_associativity:4
    index2/coherency_line_size:64
    index2/level:2
    index2/number_of_sets:512
    index2/physical_line_partition:1
    index2/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    index2/size:256K
    index2/type:Unified
    index2/ways_of_associativity:8
    index3/coherency_line_size:64
    index3/level:3
    index3/number_of_sets:8192
    index3/physical_line_partition:1
    index3/shared_cpu_map:00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
    index3/size:8192K
    index3/type:Unified
    index3/ways_of_associativity:16
    2020-06-07 22:23:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载