二级缓存在数据非饱和的情况下越大越慢吗?
来源:百度知道 编辑:UC知道 时间:2024/06/02 14:42:07
二级缓存绝非越大越好deng119x认识错误,据我所知在数据非饱满的情况下二级缓存越大也就直接增加了CPU寻址的时间,但我需要更具体的的资料
其实我的认知是L2越大越快..不知有无错误?
我们在微软的知识库中找到了如下的内容:“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management”中的SecondLevelDataCache键的值只有在Windows XP系统从硬件抽象层(Hardware Abstraction Layer )读取CPU二级缓存(L2)失败时才会读取SecondLevelDataCache键的数据。而且SecondLevelDataCache键值=0的意义是二级缓存为256KB。
在一篇知识库文章中我们还找到了“Do not change the SecondLevelDataCache entry ”这样的话,在文章中指出一些第三方资料宣称修改SecondLevelDataCache键的值可以提高系统性能是不正确的。二级缓存的数值是由操作系统检测并且完全不受SecondLevelDataCache值的影响。
从微软知识库的文章中我们可以看到,所谓的Windows XP系统需要用户手动打开二级缓存这种说法是错误的。Windows XP系统是根据硬件抽象层读取CPU的二级缓存数值。只有在读取失败时才会读取SecondLevelDataCache的值,而且SecondLevelDataCache的默认数值0所代表的意义就是二级缓存为256KB,而不是表示关闭。所以CPU的二级缓存在任何时候都是开启的,用户没有必要再自行修改。
貌似有一个临界点的。与CPU的速度有关
缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,