×
IT007 app下载
+发表新主题
分享
开启左侧

“抛砖引玉”谈一下大家关心的二级缓存问题 欢迎发言各抒己见

[复制链接]

“抛砖引玉”谈一下大家关心的二级缓存问题 欢迎发言各抒己见

wzyf 发表于 2009-4-7 01:45:55 浏览:  4824 回复:  27 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wzyf 于 2009-4-7 02:14 编辑

今天的话题从下面两款CPU的信息开始
      Intel Core 2 Duo E5200 (三年盒)二级缓存容量:2MB 市场参考价格:450元,
      AMD Athlon64 X2 5400 AM2(黑盒)二级缓存容量:1MB 市场参考价格:450元。
      为什么价格一样,Intel CPU的二级缓存总是比AMD的大上不少?
      两种CPU二级缓存的容量更是整整相差了1倍!你一定也曾经有这样的疑问。难道真的是Intel比AMD“更厚道”?下面我就谈一下我所理解的CPU中的二级缓存。
      缓存:CPU寻找数据的“快捷方式”.简单的说,缓存是数据由内存通往CPU的桥梁。它的速度比内存快得多,但是容量也比内存小的多。同时缓存依据读取速度和容量进一步分为一级和二级。在CPU需要数据的时候,遵循一级缓存→二级缓存→内存的顺序,从而尽量提高读取速度。这样“缓存 内存”的系统就同时兼具了速度和容量的优点。

我们可以打个比方,假设CPU是一名“消防员”,他现在的任务就是要尽快在一幢着火的“写字楼”(内存)中找到需要解救的“重要人物”(数据)。当他可能要找的“重要人物”(数据)都自主的走进“防火通道”(一级缓存)中的时候,CPU“消防员”找起来自然就快多了。如果很不幸“防火通道”(一级缓存)中找不到那名“重要人物”(数据),他会再去“重要人物的办公室”(二级缓存)中找找看,都找不到的话,最后再去硕大的“写字楼”(内存)中慢慢搜索。
提到二级缓存容量的差距,还得从两大CPU巨头对一级缓存的理解说起。对,没错,就是平常曝光率远逊于二级缓存的“一级缓存”!它才是造成上面提到巨大差异的“罪魁祸首”。
现今的CPU中,Intel对一级缓存的理解是“数据代码指令追踪缓存”,即是说一级缓存中存储的其实只是二级缓存中数据和指令的地址,而不是这些数据和指令的复制。我们还用上面的比喻形象说明一下,Intel消防员在“防火通道”(一级缓存)中并不会看到任何一名“重要人物”,而只有一张写着“重要人物名字”和“所在位置”的座标表(数据地址)。Intel消防员会在拿了座标表之后,去那间“重要人物的办公室”(二级缓存)中寻找那名“重要人物”(数据)。在这样的架构下,Intel消防员自然需要更多的“办公室”来安排更多的“重要人物”。也就是说,二级缓存的容量相当程度上影响了Intel CPU的性能。
相比之下,AMD对一级缓存的定位是“实数据读写缓存”,即二级缓存中的一部分数据都要在一定的规则(指令集)下搬到一级缓存中。对于前面的比方,AMD消防员在“防火通道”中总能看到刚刚从“办公室”(二级缓存)那边赶来的“重要人物”(数据)。这样子的结构下,AMD消防员也就不需要太多的“办公室”来容纳更多地“重要人物”了。二级缓存的容量自然对AMD CPU的整体性能影响小些。相对的,AMD则总是试图把一级缓存这个“防火通道”扩建的更“宽”些。         

当然,上面只是Intel的AMD的CPU二级缓存巨大差异的主要原因。事实上CPU对二级缓存容量的“敏感”与否还受到诸如内存控制器,流水线长度、频率、总线架构和指令集等等多方面的影响。在多核CPU中还关乎各个物理内核之间的数据交换问题(简单的说就是多位“消防员”能不能查找同一个“防火通道”和“办公室”。
在多核心CPU中,对二级缓存的利用效率有高有低。简单的说,Intel新一代Core架构二级缓存的利用最为优秀,AMD的Athlon X2系列次之,较老的Pentium D(Pentium EE)系列最差。
究竟越大越好?还是够用就好!还请大家发表意见
wzyf
 楼主|
发表于 2009-4-7 01:47 显示全部楼层
本帖最后由 wzyf 于 2009-4-7 01:56 编辑

我的见解:
几年时间里,二级缓存从小小的64KB一举增长到了12MB,180多倍!越来越大的二级缓存是不是真的换来了CPU性能同样“突飞猛进”发展?其实不然,二级缓存容量对性能的影响是渐渐减弱的,当二级缓存从没有增长到128KB时,带来的性能提升可能是直线上升的。但是当它从2MB增长到4MB的时候,可能使用者甚至感觉不到性能的提升。这是因为在当前CPU所处理数据的过程中,几乎无时不刻需要用到128KB以下的缓存,但是需要用到2MB以上缓存的时候很少(1%左右)。因此虽然二级缓存越涨越大,实际上对CPU性能的影响却是越来越小的。因此,完全不必要盲目追求二级缓存的高容量,够用就好。
对于不同架构的CPU,二级缓存的容量绝对不是判断优劣的标准!
回复 支持 反对

使用道具 举报

周敏 发表于 2009-4-7 02:36 显示全部楼层
帮顶了,第一个阅读者
回复 支持 反对

使用道具 举报

Dew 发表于 2009-4-7 09:57 显示全部楼层
AMD多了个内存控制器...
这贴在这里算发错了吧...呵呵
回复 支持 反对

使用道具 举报

ratie 发表于 2009-4-7 12:05 显示全部楼层
其实我觉得硬盘缓存大点才是王道
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 12:32 显示全部楼层
AMD多了个内存控制器...
这贴在这里算发错了吧...呵呵
Dew 发表于 2009-4-7 09:57
细细说来
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 13:20 显示全部楼层
其实我觉得硬盘缓存大点才是王道
ratie 发表于 2009-4-7 12:05
似乎缓存到了16M以上对硬盘的影响也不是那么大
回复 支持 反对

使用道具 举报

ratie 发表于 2009-4-7 14:57 显示全部楼层
俺对硬盘的需求是无止境的。虽然现在组raid,还是觉得不快啊。。。
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 16:56 显示全部楼层
俺对硬盘的需求是无止境的。虽然现在组raid,还是觉得不快啊。。。
ratie 发表于 2009-4-7 14:57
那就用固态硬盘吧
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 19:18 显示全部楼层
有人看没人发表意见啊
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 23:03 显示全部楼层
对二级缓存 没意见啊
回复 支持 反对

使用道具 举报

酒鬼 发表于 2009-4-7 23:29 显示全部楼层
太深奥了,完全不懂
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-7 23:48 显示全部楼层
俺对硬盘的需求是无止境的。虽然现在组raid,还是觉得不快啊。。。
ratie 发表于 2009-4-7 14:57
所以说缓存即使加倍了 也快不起来
回复 支持 反对

使用道具 举报

zfbwyl 发表于 2009-4-7 23:58 显示全部楼层
要是硬盘 有1G的缓存不知道有多爽啊
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-8 00:20 显示全部楼层
太深奥了,完全不懂
酒鬼 发表于 2009-4-7 23:29
细细看啊 我的讲解很仔细的 有什么不懂可以QQ上聊
回复 支持 反对

使用道具 举报

Qoo 发表于 2009-4-8 02:54 显示全部楼层
那就用固态硬盘吧
wzyf 发表于 2009-4-7 16:56

固态不是万能呢~~貌似还不算很成熟!
回复 支持 反对

使用道具 举报

Qoo 发表于 2009-4-8 02:54 显示全部楼层
俺对硬盘的需求是无止境的。虽然现在组raid,还是觉得不快啊。。。
ratie 发表于 2009-4-7 14:57


你应该改用SAS克!!!
回复 支持 反对

使用道具 举报

ratie 发表于 2009-4-8 08:49 显示全部楼层
所以说缓存即使加倍了 也快不起来
wzyf 发表于 2009-4-7 23:48

把硬盘缓存留着加大,再加个速度极快的暂时储存空间
开心了。。。
价格也开心看
回复 支持 反对

使用道具 举报

xujian169 发表于 2009-4-8 08:49 显示全部楼层
秉着每贴必回的精神!回复一贴!!!!
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-8 12:15 显示全部楼层
怎么都说的是硬盘啊 我的主题是CPU啊
回复 支持 反对

使用道具 举报

杂个整 发表于 2009-4-8 16:20 显示全部楼层
本帖最后由 杂个整 于 2009-4-8 16:26 编辑

缓存就是用来存放一些热指令的,理论上缓存容量大,速度会快些,但不会无限快。 我到不是太关心缓存大小,毕竟出厂时就固定了。影响CPU最大的还是看核心构架,核心好执行效率也高些。对于消费者来说,性价比至上,便宜好用才是关键。  其实缓存容量的大小在设计之初工程师就考虑过了,容量与核心处理速度是相匹配的。举例说吧,一颗赛扬2.0的处理器,你给它安上大缓存,那只会造成浪费。
回复 支持 反对

使用道具 举报

杂个整 发表于 2009-4-8 16:25 显示全部楼层
希望内存和硬盘的速度能与缓存一样快,哈哈。
回复 支持 反对

使用道具 举报

Qoo 发表于 2009-4-8 16:45 显示全部楼层
内存 硬盘 有缓存快~那就不要内存 硬盘拉~~~不过难说百年之后有可能!
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-8 20:55 显示全部楼层
缓存就是用来存放一些热指令的,理论上缓存容量大,速度会快些,但不会无限快。 我到不是太关心缓存大小,毕竟出厂时就固定了。影响CPU最大的还是看核心构架,核心好执行效率也高些。对于消费者来说,性价比至上,便 ...
杂个整 发表于 2009-4-8 16:20
这点认可
回复 支持 反对

使用道具 举报

wzyf
 楼主|
发表于 2009-4-8 20:55 显示全部楼层
希望内存和硬盘的速度能与缓存一样快,哈哈。
杂个整 发表于 2009-4-8 16:25
在目前的电脑结构下还是不可能的
回复 支持 反对

使用道具 举报

ratie 发表于 2009-4-8 22:39 显示全部楼层
缓存基本都是存放预读指令的~而且这玩意的效率影响因素太多了。
浅显的说一池塘的水放不下大海,等你把池塘变大海了,那找个东西也变成大海捞针,不见得多快了
回复 支持 反对

使用道具 举报

ratie 发表于 2009-4-8 22:59 显示全部楼层
说起这个,贴个强力的
http://cn.engadget.com/2009/03/10/24-ssd-raid/
24个ssd做raid0是个怎样的恐怖概念
回复 支持 反对

使用道具 举报

footmen 发表于 2012-4-18 13:57 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注 册

本版积分规则

IT007 APP下载