什么是缓存?及一级缓存,二级缓存?
发布网友
发布时间:2022-03-25 16:40
我来回答
共3个回答
热心网友
时间:2022-03-25 18:09
缓存:通常人们所说的Cache就是指缓存SRAM。 SRAM叫静态内存,“静态”指的是当我们将一笔数据写入SRAM后,除非重新写入新数据或关闭电源,否则写入的数据保持不变。
由于CPU的速度比内存和硬盘的速度要快得多,所以在存取数据时会使CPU等待,影响计算机的速度。SRAM的存取速度比其它内存和硬盘都要快,所以它被用作电脑的高速缓存(Cache)。
有了高速缓存,可以先把数据预写到其中,需要时直接从它读出,这就缩短了CPU的等待时间。高速缓存之所以能提高系统的速度是基于一种统计规律,主板上的控制系统会自动统计内存中哪些数据会被频繁的使用,就把这些数据存在高速缓存中,CPU要访问这些数据时,就会先到Cache中去找,从而提高整体的运行速度。一般说来,256K的高速缓存能使整机速度平均提高10%左右。
主板上通常都会提供256K到1M的缓存。在CPU内部也有高速缓存,如486CPU有8K的高速缓存,Pentium有16K的高速缓存。Pentium II有32K 一级缓存,AMD K6-2中有64K的一级Cache,AMD K6-3中有64K 的一级 Cache,和256K 的二级 Cache,Cyrix MII 中有64K的Cache。
为了区分它们,CPU内部的缓存叫内部高速缓存(Internal Cache)或一级高速缓存,主板上的缓存叫外部高速缓存(External Cache)或二级高速缓存。不过现在的Pentium II 的CPU已经将主板上的二级缓存封装在CPU的盒子中,AMD K6-3的CPU内部也集成了256K的二级Cache,对于这类CPU来说,主板上提供的已是*缓存了。
许多人认为,“缓存”是内存的一部分
许多技术文章都是这样教授的
但是还是有很多人不知道缓存在什么地方,缓存是做什么用的
其实,缓存是CPU的一部分,它存在于CPU中
CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大
缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的
3.关于一级缓存和二级缓存
为了分清这两个概念,我们先了解一下RAM
ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种
RAM又分两种,
一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗
缓存通常都是静态RAM,速度是非常的快,
但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),
价格高(同容量的静态RAM是动态RAM的四倍),
由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为,
但是为了提高系统的性能和速度,我们必须要扩大缓存,
这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存,
这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢,
我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。
一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。
通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
二级缓存(L2 CACHE)是处理器内部的一些缓冲存储器。它分内部和外部两种芯片:内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。
由于一级缓存容量的*,为了再次提高CPU的运算速度,在CPU外部放置一高速存储器,即二级缓存。
二级缓存工作主频比较灵活,可与CPU同频,也可不同。CPU在读取数据时,先在一级缓存中寻找,再从二级缓存寻找,然后是内存,在后是外存储器。所以二级缓存对系统的影响是不容忽视的。
大量使用二级缓存带来的结果是处理器运行效率的提升和成本价格的大幅度不等比提升。
举例来说:服务器上用的至强处理器和普通的P4处理器其内核基本上是一样的,就是二级缓存不同。至强的二级缓存是2MB~16MB,P4的二级缓存是512KB,于是最便宜的至强也比最贵的P4贵,原因就在二级缓存不同。
参考资料:互连网
热心网友
时间:2022-03-25 19:27
缓存:通常人们所说的Cache就是指缓存SRAM。 SRAM叫静态内存,“静态”指的是当我们将一笔数据写入SRAM后,除非重新写入新数据或关闭电源,否则写入的数据保持不变。
由于CPU的速度比内存和硬盘的速度要快得多,所以在存取数据时会使CPU等待,影响计算机的速度。SRAM的存取速度比其它内存和硬盘都要快,所以它被用作电脑的高速缓存(Cache)。
有了高速缓存,可以先把数据预写到其中,需要时直接从它读出,这就缩短了CPU的等待时间。高速缓存之所以能提高系统的速度是基于一种统计规律,主板上的控制系统会自动统计内存中哪些数据会被频繁的使用,就把这些数据存在高速缓存中,CPU要访问这些数据时,就会先到Cache中去找,从而提高整体的运行速度。一般说来,256K的高速缓存能使整机速度平均提高10%左右。
主板上通常都会提供256K到1M的缓存。在CPU内部也有高速缓存,如486CPU有8K的高速缓存,Pentium有16K的高速缓存。Pentium II有32K 一级缓存,AMD K6-2中有64K的一级Cache,AMD K6-3中有64K 的一级 Cache,和256K 的二级 Cache,Cyrix MII 中有64K的Cache。
为了区分它们,CPU内部的缓存叫内部高速缓存(Internal Cache)或一级高速缓存,主板上的缓存叫外部高速缓存(External Cache)或二级高速缓存。不过现在的Pentium II 的CPU已经将主板上的二级缓存封装在CPU的盒子中,AMD K6-3的CPU内部也集成了256K的二级Cache,对于这类CPU来说,主板上提供的已是*缓存了。
热心网友
时间:2022-03-25 21:02
缓存 临时存储,在CPU中 一级缓存CPU最近的 二级缓存较远的 都是越大越号