由于L2检测到监听命中了一个修改行,这个数据未必见得就是最新版本,如果它又被修改过,处理器的L1 Cache有可能包含了更新的信息。同样,L2将监听地址转给处理器,处理器发现L1中也有目标行的备份。L1
Cache行的状态为E,表示自从对L2的写操作以后,对于数据Cache来说没有进行过另外的写操作。说明L2 Cache中的这一行包含的就是最后的数据。Pentium处理器通过使HIT#信号有效来响应监听命中,HIT#线上输出一个低电平,告诉L2监听命中在一个未经修改的行上。在处理器的监听周期,L2也输出INV刷新信号,指示L1数据Cache将相应行的状态置为无效'I'。这一步是非常必要的,因为其他总线主向某一存储器行写数据以后,这个主存行原来数据在L1中的备份就过时了,其中要被其他总线主修改的那一部分变为无效数据。这样在后续的操作中就不会出现因为使用过时数据而导致的错误。 |