K7的L2 Cache调整记

互联网 | 编辑: 2000-01-18 16:50:40

AMD自从推出了K7之后,把x86系列CPU的性能推向了另一个高峰,在CPU的整数、浮点两项主要性能指标上,都对Intel的PIII系列提出了挑战。在550MHz、600MHz的测试中,全面领先于Intel的Coppermine 550E和600E。

但是,AMD在CPU技术性能上的提高还不能给其生产工艺带来显著的改进。因此,当Intel在低端的celeron系列中,就成功的把集成于CPU内部的L2 Cache提升到了400MHz以上,从市场上看,集成了128K的cy433/466/500等虽然价格仅80美元不到,但L2 cache的速度却全都是与CPU同速的。相比AMD来说,显然这种要求有点过高,自从他新推出K7开始,就与Intel早期的Katmai系列一样,把L2 Cache定位与CPU的1/2速率,当然,最初这么做是绝对无可厚非的。但可以发现,在K7达到了750MHz后,AMD却很不争气的把L2 Cache的速度定为了2/5,绝对是对AMD的无能的生产工艺的讽刺,而在900MHz以上时,AMD又把2/5进一步降格为1/3。好了,与Intel的1GHz的Coppermine相比,L2 Cache虽然容量大了一倍,但速度只有人家1/3。如果说这种比较你还看不出所以然的话,想想Intel的新PIII(Coppermine)把容量减小为一半,速度加倍后性能提升相当多,而AMD 却还要输人家2/3,这种差距实在令人难以接受。

现在好了,我们的K7 800采用了0.18工艺,不再是原先烫得要死的0.25的了。但气人的是,L2 Cache还是不争气的定在了2/5上,一算下来L2 cache只有320MHz,只有cy333的水平,根本无法接受。前不久,随着AMD新款"雷鸟"CPU的发布,网上也开始流传各种国外发烧友编写的调整L2 cache速度的小软件,到底有没有用?试试看!

我使用的是K7L2DOS.EXE的一个1536字节的小程序,采用命令行+参数的方式运行。每次运行后都会自动ReSet系统,"k7l2dos 2"表示可以把L2 cache强制设为1/2。并采用Winbench99 1.1观察这块K7 800的L2 Cache调整前后的变化。

首先,跑出基准得分。在纯Dos7.1环境下,调整L2 cache为1/2并重启后,再进入Win98。呀,系统死机了。看来K7 800的生产工艺比想象的还要糟糕。2/5提升到1/2,实际速度从320MHz到400MHz就挡不住了,不过话说回来,AMD在速龙时代还没有高于400MHz的L2 cache呢。

在改善了散热条件后。系统终于能稳定的进入Win98并运行完测试了。好,看看结果。整数性能由原先的46.1上涨到46.4,非常微小。而浮点性能根本就没有变化。太令人失望了。再把L2 cache的速度调为1/3,也就是从320Mhz降到266MHz,降了54Mhz左右(前面是升了80MHz)。再测,这次不会发生不稳定了,但运行测试结果,结果看不懂了,再多跑几次,差不多,基本维持在整数平均46.0的分数线(自然有几次超过0.1、0.2,有几次低一些),天哪,难道L2 cache是这么的不敏感吗,更何况几次调整测试中,浮点性能连一点都没有变过(Winbench99的浮点得分是非常稳定的)。

测试前,我们曾肯定了几点结论。

1.L2 cache的性能对浮点有小量影响。记得当年celeron300A刚上市,稳超450MHz,拿来和新出的Intel PII 450MHz对比,整数当然差了老远(L2 cache大小只有PII的1/4),但浮点却快出10分来。但这是在450Mhz的L2 Cache和225MHz的L2 cache对比中,浮点落后10分。而在更早期的Celeron266(不含L2 cache)与PII400的在同频下测试中,得分也基本相当,但排名肯定要逊一些。

2.L2 Cache的速度对整数影响应该说很大。但这是体现在Intel的历史中。具体例子想必Coppermine的故事就是最好的。

测试后,我们认同了几点结论。

1.AMD的K7 800CPU的L2 Cache在上浮80MHz,下降54Mhz的测试中,都没有在Winbench得分中得到体现,应该不能说就没有影响,而是变化太小。当年Intel的cy300a VS PII是在225MHZ的频率差异下取得10分的最小单位的领先。但现在,100MHz以内明显还不足以体现。

2.AMD的K7 800CPU的L2 Cache在上浮80MHz,下降54Mhz的测试中,整数性能没有体现出L2 cache变化所应有的性能变化。幅度不大,对性能的影响显得较为微小。从AMD的K6系列开始,对L2 Cache(包括L1)的容量就比较追求,一直领先于Intel的产品。但在速度上要求并不是很重。比如在Socket7平台上,L2 cache速度等同于FSB前端总线,最大也就达到100MHz左右,但K6-2还是取得了很好的整数得分,显得AMD的CPU的体系架构中,对容量敏感性远大于速度敏感性。或者说,由于早期K6/K6-2/K6-3时代Socket7主板的限制,L2 cache无法提升速度与Intel的PII比拼,因此造成了AMD的研发系统养成了不依赖L2 cache速度的设计思想,或者说是在整个性能评估算法中,屏蔽或者是大幅度减小了对L2 cache的Speed变量值的依赖,因此造成了L2 cache变化对整体性能的无关性(一定范围内,几乎是无关)。这也就可以解释为何AMD会不好好花心思提升L2 cache速度,而且肆无忌惮的降低其运行频率了,大概是AMD知道,即使快了,也没多大用处。

3.这次测试将2/5主频的L2 cache提升到了1/2,也就是提升了10%,而对性能的影响不超过1%,由此,是否可以怀疑到新上市的L2 cache容量不同但是都与CPU主频同步运行的雷鸟和毒龙,他们的性能究竟能有多高?

这些是研究后的结果,肯定不会全都正确,但也确实是一种来自用户的揣测。期望大家有类似感觉的一起讨论。但请着重于技术领域,不要牵扯进Intel和AMD之间的感情因素,也不要着力于人身批评。谢谢大家。

(这篇文章大家看看就可以了,不要火冒三丈,更不要偷偷抄袭,我以前没见到过类似文章,大家以后要看来电脑之家就可以了,像什么报的xxxx网站要抄袭的请住手)。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑