When the CPU is instructed by a load instruction to read a word from ad-
dress A of main memory, it sends the address A to the cache. If the cache is holdinga copy of the word at address A, it sends the word immediately back to the CPUSo how does the cache know whether it contains a copy of the word at address A?
here is some cache parameters you need to know
the way how the address match which part of the cache
1)先从cache了解有(S,E,B)判断set有多少位,assoc有多少位,block有多少位
2)假设block有b位,则有连续的2^n个位置都是属于这个set,假如cache为空,我们现在要地址0的内容,cpu先向cache发送地址0,cache未能命中,则向内存中发出读地址0命令,将地址0的内容写入set0,在这个读内存的过程中,cache还连带的把地址1、2、3
的内容读入到cache中。假如下一次cpu需要地址2的内容就可以直接从cache中读取。
3)那assoc有什么用呢!假如cpu需要地址8的内容,而且地址8和地址0都是用到set0。如果E只有0位那么就先要吧set0原先的内容踢掉,再去加载地址8的内容,如果E有1位,cpu如果需要地址8的内容就可以直接把地址8的内容加载到line2中,同样的在加载地址8时,cache顺便的把地址9、a、b的内容加载到cache中