amba chi cache state

本文详细解释了UC、UCE、UD、UDP、SC和SD等在多级缓存系统中的角色,涉及MOESI协议、数据一致性、缓存行状态和snoop请求。主要讨论了在写操作中如何处理空缓存行和数据同步的问题,以保证系统的带宽效率和数据一致性。
摘要由CSDN通过智能技术生成

UCUnique Clean,该缓存行的数据只在当前缓存中,且和主存的数据一致;缓存行的数据可以被修改,而不需要通知其它的缓存;在收到snoop请求时,该缓存行可以,但不必需返回数据给HN或RN;

UCE: Unique Clean Empty该缓存行的数据只在当前缓存中,但是所有的数据都是无效的,可以不知会其它RN就对该缓存行的数据进行修改。在收到snoop请求时,该cache line必须不能返回数据给HN或RN;

              Requester有意获取空缓存行(write: MOESI协议中,进行write时,需要获取写权限(UC),需要将其他缓存行中的副本invalid(实现本端cache U)并且将缓存行(如果Dirty)更新到memory,并且将“最新的”缓存行数据/memory数据store到本端缓存行中(实现本端cache C),实现UC,进而进行写操作。UCE旨在无需将“最新的”缓存行数据/memory数据store到本端缓存行中,因为写操作会对缓存行进行修改,这样可以节省系统带宽。开始写操作之前,为了节省系统带宽,requester可以获得具有store权限的空缓存行,而不是获得缓存行的有效副本。

               cache 转变: If the Requester has a copy of the cache line when it requests permission to store, and that copy of the cache line is invalidated before the Requester obtains permission to store, this results in the Requester having an empty cache line with permission to store

Requester在获得store权限前已经有该缓存行的副本,但是数据是无效的。Requester获得store后,该缓存行变成UCE

UDUnique Dirty,该缓存行的数据只在当前缓存中,且和主存的数据不一致,已经被修改过了;如果该缓存行的数据不用了,那需要写回到下级缓存或主存。可以不知会其它RN就对该缓存行的数据进行修改。在收到snoop请求时,该缓存行必须返回数据给HN或RN;

UDP: Unique Dirty Partial该缓存行的数据只在当前缓存中,且和主存的数据不一致,部分被修改且有效;如果该缓存行的数据不用了,那需要和下级缓存或主存的数据组成一个完成有效的缓存行(merge)。可以不知会其它RN就对该缓存行的数据进行修改。在收到snoop请求时,该缓存行必须返回数据给HN(进行merge),但不能直接将数据给Requester;  UCE→UDP

由UCE转变UDP,对UCE进行partial write后,获得UDP

SCShared Clean,其它缓存可能也存在该缓存行的拷贝;该缓存行可能已经被修改了;当不需要该缓存行数据时,cache没有义务必须将该数据写回到主存;必须对其它缓存的该缓存行进行无效(invalidate)后,获得U态才能将该缓存行进行改写;在收到snoop请求时,该缓存行在RetToSrc没有置位时不需要返回数据,如果RetToSrc置位,则需要返回数据,可以直接fwd数据给Requester;

SDShared Dirty,其它缓存可能也存在该缓存行的拷贝;该缓存行相对于主存已经被修改了;当该缓存行不需要的时候,当前缓存需要将它写回下游缓存或主存;必须对其它缓存的该缓存行进行无效后,获得U态后才能将该缓存行进行改写。在收到snoop请求时,该缓存行必须返回数据给HN和Requester;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值