您好、欢迎来到现金彩票网!
当前位置:双彩网 > 写无效 >

什么时候需要主动Invalidate Cache的相关推荐

发布时间:2019-06-27 03:47 来源:未知 编辑:admin

  写无效策略(write invalidate)是指当某个处理器更新其私有Cache中的某个数据时,它通知所有其它Cache这一数据在它们中的副本从此均无效。这样就可以避免其它过时的副本被使用而造成错误。

  写更新策略(write update)是指当某个处理器更新其私有Cache中的某个数据时,它把所更新的数据发送给所有的其它Cache,以更新这一数据在其它Cache中的所有副本。一般来说,使用写更新策略,需要传输更新后的数据,而写无效只需传输写无效信息,因此写更新传输的数据量比写无效要大。而且,被更新的数据的某些副本以后也不一定再被使用。例如上图中,P1更新X后,P2不一定再使用变量X的值。因此每次都对所有的副本都更新是没有必要的。

  请注意,写无效和写更新是维护Cache一致性的策略,它与维护Cache与主存储器一致性的策略没有必然的关系。无论是使用写无效策略还是写更新策略,共享存储器中的数据副本都可以通过写直达或写回策略来维护与Cache的一致性。

  写回法:当CPU写Cache命中时,只修改Cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。

  写直达:又称全写法,当写Cache命中时,Cache与主存同时发生写修改,因而较好的维护了与主存的内容一致性。

  写一次法:是写回法与全写法的折中方法:写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这是因为第一次写Cache时,CPU要在总线上启动一个存储写周期,其他Cache监听到此主存块地址及写信号后,即可拷贝该块或及时作废,以便维护系统全部Cache的一致性。

  例如,如果采用写无效策略和写直达策略,当处理器P修改私有Cache中的某一数据时,不但要向其它处理器的Cache发送无效信息,而且要将共享存储器中该数据的副本更新。最终,处理器P的私有Cache和共享存储器中的数据是相同而且是正确的,而其它处理器Cache中该数据的副本被标记为无效。如果采用写无效策略和写回策略,当处理器P修改私有Cache中的某一数据时,不但要向其它处理器的Cache发送无效信息,而且要向共享存储器发送无效信息。最终,只有处理器P的私有Cache中的数据是正确的,而共享存储器和其它处理器Cache中该数据的副本均被标记为无效。

  使用Cache目录来存放有关数据块拷贝驻留在Cache中的信息,把使其他Cache数据块无效的一致性命令只发给存放有相应数据块的Cache,从而支持Cache的一致性。 根据目录的结构特点,基于目录的协议可分为3类:全映射(full-map)目录、有限(limited)目录、和链式(chained)目录。

http://kharidkhan.com/xiewuxiao/304.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有