·智能缓存加速
对于处理器的设计者来说,解决处理器中存储器的访问平均延迟是一个急待解决的问题。举例来说,在一个由Pentium 4 3.6GHz
处理器和DDR400(200MHz)内存所组建的平台中,处理器速度是内存速度的18倍。也就是说,访问内存的每一个周期,处理器会经过18个周期。而且,发送一个内存访问请求需要多个内存周期,回应一个内存访问也就需要多个周期。因此,对于Pentium
4来说,花费200到300个处理器周期来等待内存访问的完成并不罕见。设计处理器缓存的目标就是避免内存访问的发生。但即使处理器缓存的缺失率仅为4%,也就是说,在处理器访问存储器的所有情况中只有4%的比例需要访问内存,这4%也将显著降低处理器的执行效率。
智能缓存加速示意图一
说到这里,我们觉得有必要将Intel和AMD在这方面的设计做一个简单的对比。如果对比系统内存的存取状况,AMD
K8微架构在其内部集成了内存控制器,而Intel
Core微架构仍然采用了前端总线(FSB)设计,我们很难说两者之间谁更强一些,也许他们根本就不存在可比性,但由于Core微架构的采用了短流水线的设计方式,其处理器的时钟频率相对Netburst微架构处理器大大降低,加之大容量的式二级缓存,因此其内存性能得到了大幅度提升。与此同时,Intel还在Core微架构中加入全新的内存读取技术,Intel将其称之为内存相关性预测(Memory
Disambiguation)。
智能缓存加速示意图二
内存相关性预测(Memory
Disambiguation)是一项十分新颖的设计。NetBurst微架构中所采用的相对保守的规则被彻底丢弃,load操作可以在内存地址未知的store操作之前执行。这样一来,当有错误发生的时候,处理器流水线将不得不暂停运转。当然,这种情况是极为罕见的。而为了最大限度的避免这种情况的出现,Core微架构加入了一个动态的内存相关性预测器,根据历史信息来预测load操作的移动是否可行。
(责任编辑:刘伟) |