4.4 To be nclusive or not to be…

本文详细探讨了Athlon微架构中的Cache层次,特别是Exclusive Cache和Victim Buffer的设计,以及后续的Bulldozer微架构中对Cache Hierarchy的改革。AMD和Intel在Cache结构上的选择,如AMD的Exclusive Cache和Intel的NI/NE Cache,都在寻找平衡点以优化性能和设计复杂度。尽管Exclusive Cache在某些方面提供了优势,但NI/NE Cache通过降低耦合度简化了设计,同时在Nehalem和Sandy Bridge处理器中,Inclusive Cache的引入进一步优化了Cache一致性。文章揭示了在处理器设计中,不同Cache结构的选择是复杂性和性能之间微妙平衡的结果。
摘要由CSDN通过智能技术生成

Athlon微架构中,L1 Cache的大小为128KB,分别为64KB Data64KB Instruction Cache,运行频率与CPU Core Clock相同,在Hit时的Load-Use Latency3Clock CycleL2 Cache大小为512KB,运行频率为CPU Core Clock的一半[86][1]L1L2 Cache之间的比值为4,这使得Exclusive Cache结构成为必然的选择。在L1 CacheL2 Cache之间,Athlon微架构设置了专用的Buffer,暂存从L1 Cache中淘汰的Cache Block,这个Buffer也被称之为Victim BufferL1 CacheL2 CacheVictim Buffer的组成结构如所示。

4.4 <wbr>To <wbr>be <wbr>inclusive <wbr>or <wbr>not <wbr>to <wbr>be <wbr>2

Athlon微架构中,Victim Buffer864B大小的Entry组成。而L1 CacheVictim BufferL2 Cache之间也是严格的Exclusive关系。在Athlon微架构盛行的年代,L1 Cache容量为128KB是一个很大的数字,这个数字放到今天也并不小。这使得CPU Core访问的多数数据在L1 Cache中命中,L1 CacheL2 Cache间的总线并不繁忙,Victim Buffer暂存的Cache Block可以在总线Idle时与L2 Cache进行同步。Victim Buffer很少会因为所有都Entry被占用而成为系统瓶颈[86]

CPUCore读取的数据在L1 Cache Miss,而在Victim Buffer Hit时,数据将从Victim Buffer中传递给CPU CoreL1 Cache,从L1 CacheEvictCache Block将送至Victim Cache,无需L2 Cache的参与。即便数据访问在L1 CacheVictim Buffer全部Miss时,Athlon微架构L2 CacheLoad-Use Latency也仅为11Clock Cycle,包括L1 Miss所使用的3Cycle

VictimBuffer为满,CPU Core访问的数据在L1 CacheMiss且在L2 CacheHit的场景中,Victim Buffer暂存的Cache Block需要使用8Cycle刷新到L2 Cache中;之后L2 Cache需要2CyclesTu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值