+ -
当前位置:首页 → 问答吧 → cpu的二级缓存的问题!

cpu的二级缓存的问题!

时间:2005-02-25

来源:互联网

不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!

作者: atmlace   发布时间: 2005-02-25

我也想知道呢!

作者: zengjingpku   发布时间: 2005-02-25

引用:
作者: atmlace
不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!
这个问题有意思,我也不知道,你能不能告诉大家如何设置?谢谢。

作者: hsl203   发布时间: 2005-02-26

代码:
cat /proc/cpuinfo | grep cache
应该只要内核能够识别CPU型号,就能正确显示二级缓存,不需要特殊设置。
如果你的CPU比较特殊,那么可能需要编译内核。

作者: longwu9t   发布时间: 2005-02-26

是不是这样就是可以正确的识别并配置了?

[yzh@taiji yzh]$ cat /proc/cpuinfo | grep cache
cache size : 256 KB
[yzhi@taiji yzh]$

作者: hsl203   发布时间: 2005-02-26

引用:
作者: atmlace
不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!
对于CPU二级缓存(L2 Cache)的作用,想必大家都多多少少有一定了解,即使不完全明白其中道理,至少也可以从Pentium 4和Celeron的差价判断出其重要性—256KB二级缓存的Celeron D 2.4GHz比512KB二级缓存的Pentium 4 2.4C便宜近一半。如果这时候有人说Windows XP操作系统并没有充分利用CPU的二级缓存,你会怎么想?这简直就是在浪费用户的投资嘛!

  事实上,有一种广为流传的说法是Windows XP没有对CPU进行优化,理由就是它默认状态下并没有打开CPU的二级缓存。如果你打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\Control\Session Manager\Memory Management”,在其中可以看到一个名为“SecondLevelDataCache”的项,它的默认值为“0”。再明显不过了, “SecondLevelDataCache”就是二级数据缓存的意思,既然被设置为“0”,那就是关闭了二级缓存。   
正是基于以上论断,才出现了优化二级缓存的技巧,也就是把“SecondLevelDataCache”的值设置为CPU的二级缓存容量(单位 KB)。在众多的优化软件中也包含了优化CPU二级缓存的设置,例如“超级兔子魔法设置”、“Windows优化大师”和PcMedik等。这样的优化到底有多大的效果呢?还是让事实说话比较好,请看我们进行的对比测试。

  从测试结果来看,修改“SecondLevel DataCache”的值对测试结果没有任何影响,这是为什么呢?事实上,在微软的知识库文章(http: //support.microsoft.com/default.aspx?scid=kb;en-us;183063)中可以看到,从Windows NT4开始,“SecondLevelData Cache”的默认设置就已经是“0”了。这篇文章指出,当“SecondLevelDataCache”为“0”时,系统会尝试通过硬件抽象层 (Hardware Abstraction Layer,HAL)获取二级缓存容量,即便是硬件抽象层无法获取二级缓存容量,系统也默认设定二级缓存为256KB,而不是完全关闭二级缓存。在另外一篇Windows 2000的知识库文章中(http://support.microsoft.com/default...scid=kb;en-us; 228766)中,明确地告诉用户,一些第三方资料宣称修改“SecondLevelDataCache”可以优化系统性能,这是不正确的。 Windows XP与Windows NT4/2000都是NT内核,因此在设计上具有一定的继承性,虽然这两篇知识库文章并不是直接针对Windows XP提出的,但可以看到这个问题由来已久,Windows NT系列操作系统在最初就已经把这个问题考虑周全了。

  从实际测试的结果和微软知识库文章的解释可以得出结论,所谓的Windows系统没有对CPU进行优化的说法是错误的,虽然手动修改“SecondLevelDataCache”也没有带来什么负面影响,但这种“优化”绝对是多此一举。   

  测试平台:

  CPU Pentium 4 2.8E

  主板 微星865PE Neo2

  内存 Kingston DDR400(256MB×2)

  硬盘 Maxtor Plus 9 120GB(SATA)

  显卡 ELSA影雷者FX534DV

  操作系统 Windows XP Pro+SP1

  SecondLevelDataCache Super Pi 209万位测试

  0 110秒

  1024 110秒

  512 110秒

  256 110秒

  128 110秒

  64 110秒

  32 110秒

  16 110秒

  8 110秒

作者: xemean   发布时间: 2005-02-26

楼上回答得真好!!!
佩服,佩服!

作者: zhaozhh02   发布时间: 2005-02-27

恩 我寻思 微软也不能那么菜

作者: sunny4u   发布时间: 2005-02-27

谢谢了,真长见识了!!!

谢谢啊!

作者: atmlace   发布时间: 2005-02-28