二级缓存容量比内存小的多但是交换速度却比内存要快得多。
缓存主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾。
因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。
所以说缓存不仅仅是提高了CPU于内存之间的读取速度,更重要的是提高效率,使有用的资源更好的利用
相对于的快了,只是提高了使用效率
相对于cpu的距离不同,不能这么理解。
======
这是相对的
cpu缓存是内存和cpu的数据做缓冲,
内存是外存相对cpu的缓冲,
速度不同,
比方,你吃一个蛋糕,要从冰箱(硬盘等~~)里面拿出来放在桌子(内存)上,
然后用手拿起来,放到嘴里面吃,这过程,手拿起的那份蛋糕就是(cpu缓存)存放的数据,当吃完嘴中的蛋糕后,手剩下的蛋糕可以直接给嘴继续继续吃,这样就可以最大化嘴吃的效率~
这比喻不怎么恰当,只是作一个理解的参考
cpu内部的缓存是高速缓存,是与CPU同步运行的,内存速度根本不能与其相比。这种高速存储器非常贵,根本做不到上G的容量,只能小容量的做在CPU内部。
cpu内部缓存并非跨接在CPU运算器与内存的通道中,cpu内部缓存直接与CPU的控制单元、计算单元打交道,缓存中存储着最底层的指令代码,这是一些每一条命令几乎都要随时用到的“指令”、“代码”、包括所谓的“中间运算结果”,都是不长的字节,与你个人的资料数据并不直接相关,CPU是指挥中心计算中心不错,但不能简单的理解为你的文档中的每个字都要从CPU中转一圈。把这些基本运算指令代码直接存在CPU的缓存里,CPU在计算时随时取用,你说是否比从内存中读取要快得多?
前面已经说了,cpu内部缓存并不直接与内存打交道,谈不到“缓存与内存之间的传输速度,难道就很快?”这个说法。就是说,cpu内部缓存根本不是向外部传输数据用的。说的土一些,他是存储诸如“加减乘除”、“这些数据从哪儿来”、“这些数据要送到哪儿去”这些指令代码的。
你怎么还不明白?举例说。一个程序开始运行后,所有代码数据首先读入内存,然后CPU把最关键的指令、操作符、运算符等立刻就需要的数据读入高速缓存,在这个程序运行期间,CPU将不停地需要重复调用这些高速缓存中的相同的指令码、操作码、运算符,同时还有一个预测机制不停的预测下一步将需要哪些指令与操作数据,并不停地把它们及时调入高速缓存,清除掉高速缓存中陈旧的或短时不需要的数据。这叫做命中率,就是CPU需要什么时就上高速缓存中去找,有多少可能性需要的数据就在那儿,当然命中率越高越好。如果高速缓存中没找到需要的数据,再上内存中找,现把它调入高速缓存。所以越大型的程序就越慢,就是因为繁多的指令不可能都临时存储在高速缓存中。总之,高速缓存中缓存的是需要重复调用的数据,这些数据大部分都是CPU运行所需的指令代码。
CPU在处理数据时,大量的数据要从内存中读出来到CPU中再处理再存到内存中,。因为内存速度太慢了。跟不上CPU的速度。所以在CPU内部加上几个缓冲内存,这样就可以相应减轻CPU的负荷了。。CPU内部的缓存越大,CPU的性能就越好。