初始化之后,当第一次写操作在L1 Cache命中时,如果此时该行的状态为S,表示是第一次写,采用的策略是写直达。于是在处理器内部的写操作将数据更新,并且把数据一直写到L2当中。L2对应行原来的状态为E,表示不存在其它处理器和L2
Cache 也包含同一主存行的副本,因此它里面的数据可以被更新,更新后,原本和主存一致的数据发生变化,这一行的状态被改为修改态M(Modified)。同时L2
Cache控制器将WB/WT#信号置为高电平,指示处理器把L1中对应行的状态由S修改成E,使得在这之后的Cache行数据写,采取写回控制策略。 在这种情况下,如果存储器第二次写L1 Cache这个状态为E的行,将不会发生到L2的写直达操作,因为采取的是写回策略,所以不马上修改。这时,这个L1 Cache行的状态被修改为M,指示这一行包含了被修改的数据。之后每一次对这行数据的更新都不会采取写直达策略,而这一行的状态也继续保持M状态。 |