精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机硬件>>☆ C P U ☆>>★ A M D ★>>雷鸟的Cache!

主题:雷鸟的Cache!
发信人: linger_dfi(小生(情龙))
整理人: zdzd127(2001-03-30 17:51:55), 站内信件
  被AMD公司称为第七代微处理器的新速龙(研发代号Thunderbird,雷鸟),以其200MHz、1.6GB/s的系统总线(EV6)、完全流水线、超标量浮点引擎和增强的AMD 3DNow!技术,给用户带来了一个崭新的形象。 

  新速龙不仅使用了128kB的一级缓存(4倍于它的x86竞争对手),而且还通过将L2缓存直接集成到芯片上来提高处理器的性能。而从新速龙及Duron微处理器发布至今,对于新速龙和Duron的缓存结构,不少朋友知之不多。本文通过为您介绍这种全速on-die缓存的优点(on-die意味着处理器芯片和缓存制作在一片上),来向您揭示速龙“芯”里的秘密。 
  全速的on-die L2 
  相对于旧版的速龙(Athlon)处理器来说,新速龙处理器号称有3倍大小的全速on-die缓存。由于新速龙拥有128kB的L1缓存和256kB的全速on-die L2存,整个内部系统有384kB缓存。on-die L2缓存允许处理器和缓存之间的速度匹配达到一比一,因此在内存密集型应用中,性能将有显著的提高,并且不需要再使用外部的L2。 

   现在的微处理器制造技术正逐步向0.18微米过渡。0.18微米技术允许制造出更小的晶体管,这使得集成缓存将不会显著影响芯片的尺寸,L2缓存的集成对芯片尺寸造成的影响将会更小(约占了芯片全部面积的20%)。新速龙拥有3700万个晶体管,面积为120mm2,而旧版的Athlon的面积为102mm2。 

  Exclusive缓存结构 

  所谓Exclusive结构是相对于Inclusive缓存结构而言的。Inclusive缓存结构被广泛使用在前一代的x86处理器中(包括PⅢ),该结构要求L2缓存必须复制L1缓存中的所有数据。因此,在Inclusive结构中,假设L1缓存的大小为32kB,L2缓存为256kB,那么其实际有效的缓存容量就只有256kB。 

  相比之下,在Exclusive结构中,L2缓存包含将被写回内存子系统的victim或copy-back缓存块(victim或copy-back指的是那些曾经被保存在L1缓存中但是随后被逐出的、为新的数据提供空间的缓存块),因此其有效缓存大小为L1、L2缓存的总和。 

  由于不论采取何种缓存结构,L1缓存的主要目的是储存CPU经常使用的数据,因此L1缓存越大,处理器的性能越高。当新速龙处理器的L1缓存被填满时,被逐出L1的victim或copy-back缓存块就被简单地移向L2缓存,这就使得曾经一度被CPU经常使用的数据避免直接被移回主存,而被搁置在离CPU较近的L2缓存中,L2缓存也不需要浪费空间再去复制L1缓存中的数据。
 

  空闲时间 

  所谓空闲时间就是指CPU为了等待数据,而无法进行运算的时间。由于具有巨大的L1缓存和Exclusive L2缓存,新速龙处理器的内部缓存更可能包含所需的数据。当数据在缓存中时,系统就减少了空闲,从而使得整个系统的性能得到了提高。 

  相对于外部的静态存储器,将L2缓存集成到处理器的die上可以使数据在更少的时间内送达CPU,从而显著地降低空闲时间。新速龙处理器比旧版处理器的空闲时间少45%就是得益于on-die缓存的特性和上述的新Exclusive结构。应该注意的是,这种L2缓存的空闲时间通常不能被现有的普通缓存测试工具正确测得,由于新的Exclusive结构,测试工具需作一些改动才能获得精确的L2平均空闲时间。 

  新速龙处理器的victim缓冲区包含被L1缓存逐出的的数据,其缓存行的宽度是64字节,是PentiumⅢ 32字节的2倍。它有8个64字节的入口,宽度和缓存行一样。由于容量大(128kB),Athlon处理器的L1缓存在处理大多数数据请求时已经足够了,而victim缓冲区会利用空闲周期将数据传输到L2缓存的接口。 

  新速龙处理器的victim缓冲区在实际应用中很少会满,因此,L2的空闲时间将为11个周期——其中包括3个周期用来确定L1没有命中以及L2的8个周期的实际响应时间。 

   上图则显示了当L1没有命中而L2命中、同时victim缓冲区满时,响应过程中的每一步的空闲时间。在这种极端的情况下,victim缓冲区的数据立刻被复制到L2中。这也就是旧的缓存测试工具所测出等待时间为20个周期(20 8+2+2+8)的原因。 

  实际上,正如上文介绍的,由于victim缓冲区在实际应用中很少会满,新速龙处理器的真正空闲时间在11到20个时钟周期之间,L2的空闲时间则可以近似等于11个时钟周期。应该说,是新速龙大容量的L1和Exclusive结构的L2使其在和相同频率的PⅢ的竞争中处于相对有利的
地位。 

  缓存的带宽 

  由于速度的提高,新速龙所集成的on-die L2的带宽比旧版Athlon的L2的带宽要高300%。高带宽允许处理器在同样的时间内处理更多的数据,例如,旧版Athlon 1GHz处理器需要24ns(3×8)来传送64字节的缓存行,然而新速龙只需要8ns。 

  为提高Cache的命中率,PⅢ为L2Cache设计了256位的带宽,但由于新速龙的L1Cache容量高达128k,是PⅢ的4倍,也能够保持Cache有足够高的命中率。相比之下,再扩充L2总线的带宽对Cache性能的提高意义并不很大,这也就是新速龙处理器的L2Cache总线宽度为64位的原因。
  相关性 

  新速龙采用了16路相联缓存,是旧版的Athlon 2路相联的8倍,它使得系统可以通过减少数据冲突来提高命中率。如果需要的数据不在缓存中,处理器必须在主存中寻找。由于主存的速度被它的总线速度所限制(现在不超过133MHz),因此提高缓存命中率就可以显著地增加内存的平均存取速度,从而提高系统性能。 

  缓冲区与总线队列入口 

   新速龙和旧版的一样包含8个填充缓冲区、8个总线队列入口和8个回写式缓冲区。而x86的PⅢ只有6个填充缓冲区、8个总线队列入口和4个回写式缓冲区。更多的缓冲区数量能够帮助减少处理器的等待几率,通过增加数据被放置到缓冲区等待执行的几率来提高数据处理速度,使得新速龙的处理能力接近1.6GB/s的总线峰值带宽。 

  关于Duron处理器 

  本文主要介绍了AMD新速龙处理器在缓存方面的具体特色,但值得注意的是,虽然Duron处理器的L2的大小出人意外的只有64kB,但它的缓存结构完全等同于刚才介绍的新速龙。 

  小结 

  对于高性能的桌面PC来说,新速龙是目前最强劲的x86处理器之一。集成的on-die L2缓存、Exclusive结构、低空闲时间和高相关性的L2缓存等诸多特点,使其在商业、多媒体、娱乐软件、图像处理以及高端的CAD/CAM应用等密集型应用中取得了优异的性能,为桌面消费者及企业计算机系统提供了可靠而高性能的解决方案。 


[关闭][返回]