区别:
。主存一般指内存,缓存指缓存;
缓存位于CPU和内存之间。CPU和硬盘之间交换的数据通常都在内存中。由于硬盘的读写速度远远低于CPU的处理速度,因此数据必须预先读取到内存中;
内存中还存储着系统当前运行的数据。还有一种虚拟内存,就是用来解决内存不足的问题的。
当CPU要读取一条数据时,首先会在缓存中查找。如果找到,就立即读取并发送给CPU处理,如果没有找到,则读取;以相对较慢的速度从内存中取出并发送到CPU进行处理,同时将这个数据所在的数据块转移到缓存中,以便以后可以读取整个数据块。缓存而不需要内存调用。
正是这种读取机制使得CPU读取缓存命中率非常高(大多数CPU可以达到90%左右),也就是说CPU接下来要读取的数据中90%只有10%左右的缓存需要从内存中读取。
扩展信息:
即使处理器内置的缓存通信能力很强,仍然需要对接收到的数据进行一些验证。这是因为最常访问的数据随着时间的推移并不是静态的。
换句话说,以前不频繁访问的数据现在必须被频繁访问。刚才最常见的数据现在已经很少见了。因此,必须经常访问缓存中的数据。采用特定方式的替换算法,保证缓存中的数据被最频繁地访问。
命中率估计算法中最常用的“最近最少使用算法”(LRU算法)就是剔除最近一段时间最少访问的行。
因此,必须为每一行设置一个计数器。LRU算法将命中行的计数器清零,并将其他行的计数器加1。如果需要替换,则删除行计数器最高的数据行。这是一种高效、科学的算法。其计数器清除过程可以从缓存中删除一些频繁调用后不再需要的数据,提高其利用率。
来源:中关村在线。告别四大误区,我们来谈谈缓存对处理器性能的影响。
上一篇:内存和缓存的区别
下一篇:cache寄存器内存速度