从Cache控制器的角度,也可以清楚地看出目录项和访问端口各部分的作用。在每一路Cache中,每个目录项对应一个Cache行。目录项包含20位的标记域、1位校验域和2位状态域(图5-10)。标记域记录了装入Cache行的数据来源于哪个主存页,即主存页的地址(A31~A12)。这是记录Cache数据与主存储器关系的唯一标志。一位的校验位在每次更新目录项时产生并写入。两位状态位指出Cache中的行所包含的信息的M、E、S、I状态。访问目录的端口包括三个部分,20位的标记域记录了目标存储器高位地址A31~A12,指出目标地址属于主存的哪一页;7位的行域记录了目标存储器次7位地址A11~A5,指出了目标地址是页中的哪一行,也就是数据可能存在于Cache路中的哪一行;最低2位是双字域,指示了目标存储器A4~A2三位地址,指出所要访问的双字在行中的哪一排(bank),也就是cache行中的位置。 |