23、缓存操作与LRU算法详解

缓存操作与LRU算法详解

1. CPU事务与缓存操作

1.1 缓存写事务

  • 写缺失情况 :当CPU进行写操作且发生缓存缺失时,缓存控制器会将CPU块内容(如由0xE0、0xE1、0xE2和0xE3组成的块)写入集合地址00处的最低有效缓存位置,并将标签内存内容更新为1000。同时,该块会被存储在写回缓冲区,脏位(dirty bit)设为1,因为该块仅存在于缓存中,主存中并无副本。有效位(valid bit)设为逻辑1,表示这是来自CPU的有效块,主存尚未更新。当该块被转移到主存后,脏位变为0,有效位仍为1。
  • 写命中情况 :若写操作命中缓存,缓存控制器会将新的数据块(如0xF0、0xF1、0xF2和0xF3)写入缓存内存的最低有效块位置,替换旧块(如0xE0、0xE1、0xE2和0xE3),并将相同数据写入写回缓冲区。这种写回方案相较于直写方案具有明显的速度优势,因为无需将旧块从写回缓冲区转移到主存。

1.2 缓存读事务

当CPU进行读操作且发生缓存缺失时,位于主存地址11000000的数据块(如0xD0、0xD1、0xD2和0xD3)会被转移到集合地址00处的最高有效块位置,因为该位置的内存引用次数为零。该集合地址的标签内存内容更新为1100,有效位设为逻辑1,脏位设为逻辑0。

2. 最近最少使用(LRU)替换算法

2.1 LRU算法原理

之前提出的简单算法是用最少引用次数的数据块替换,以帮助理解缓存控制器在缓存缺失时的工作原理。而实际的缓存数据替换策略基于最近

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值