当CPU要读取一条数据时,首先会从缓存中查找。如果找到,则立即读取,并发送给CPU处理;如果没有找到,则以相对较慢的速度从内存中读取并发送给CPU处理,同时将该数据所在的数据块移至缓存中,以便以后的读取整个数据块可以由它组成。缓存而不需要调用内存。
正是这种读取机制,使得CPU的缓存读取命中率如此之高(大多数CPU可以达到90%左右),这意味着CPU将读取的数据中的90%都位于主机上大约10%的缓存必须从内存中读取。
扩展信息:
即使处理器内部内置的缓存数据交换能力很强,对恢复的数据进行一定的检查仍然是错误的。需要。这是因为频繁访问的数据随着时间的推移并不恒定。
也就是说,以前不频繁访问的数据现在需要通过一定的方法进行替换,从而保证缓存中的数据被重复访问。
命中率算法中最常用的“最近最少使用算法”(LRU算法)就是去除最近一段时间最少访问的行。
因此,必须为每一行分配一个计数器。LRU算法将结果行计数器清零,并将其他行的计数器加1。当需要替换时,删除行计数器值最大的数据行。这是一种高效、科学的算法,可以从缓存中剔除一些重复用后不再需要的数据,提高缓存利用率。
参考来源:中关村在线-告别四大误区,谈谈缓存对CPU性能的影响
上一篇:cache快还是内存快
下一篇:cpu内存cache三者关系