中级程序员教程-Cache直接映像技术的疑问
不知道看过中级程序员中级教程的同学,对P7中的Cache直接映像法的一点说明:“只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中”有没有疑问!我在想主存区号相同但如果块号不同呢?但这毕竟是官方的教程出错的可能不大,应该是自己的理解有问题。
所以在网上查了一些资料后来发现一本叫“计算机组成原理(重点大学计算机专业系列教材)”:
假设CPU给出的地址是E898H(1110,1000,1001,1000B),则000 1001 1000是索引,11101是标示。索引作为地址,用做在内容cache和标识cache中各确定一个单元(行),即这两个单元都是由000 1001 1000译码得到的,这样在内容cache中就确定了一个存放数据的单元(行),此时并不读出数据。接着拿标识chache中存放的标识与11101比较,若相当(即标识命中)。
如果我理解没错的话,应该是先根据送出的主存地址的块号定位到Cache中的块,再比较送出的主存地址的区号和Cache中的区号。若相同就命中。
不知道我这样理解对不对!不管怎么样找到一本好书。