快取


快取

文章插图
快取【快取】高速快取(英语:cache,/k??/ kash )简称快取,原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术 。
基本介绍中文名:快取
外文名:cache
套用学科:IT
适用领域範围:硬体
特点快取是指可以进行高速数据交换的存储器,它先于记忆体与CPU交换数据,因此速率很快 。L1 Cache(一级快取)是CPU第一层高速快取 。内置的L1高速快取的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较複杂,在CPU管芯面积不能太大的情况下,L1级高速快取的容量不可能做得太大 。一般L1快取的容量通常在32—256KB 。L2 Cache(二级快取)是CPU的第二层高速快取,分内部和外部两种晶片 。内部的晶片二级快取运行速率与主频相同,而外部的二级快取则只有主频的一半 。L2高速快取容量也会影响CPU的性能,原则是越大越好,普通台式机CPU的L2快取一般为128KB到2MB或者更高,笔记本、伺服器和工作站上用CPU的L2高速快取最高可达1MB-3MB 。
快取

文章插图
快取的工作原理快取只是记忆体中少部分数据的複製品,所以CPU到快取中寻找数据时,也会出现找不到的情况(因为这些数据没有从记忆体複製到快取中去),这时CPU还是会到记忆体中去找数据,这样系统的速率就慢下来了,不过CPU会把这些数据複製到快取中去,以便下一次不要再到记忆体中去取 。随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,又不频繁了,所以说快取中的数据要经常按照一定的算法来更换,这样才能保证快取中的数据是被访问最频繁的 。工作原理快取的工作原理是当CPU要读取一个数据时,首先从CPU快取中查找,找到就立即读取并送给CPU处理;没有找到,就从速率相对较慢的记忆体中读取并送给CPU处理,同时把这个数据所在的数据块调入快取中,可以使得以后对整块数据的读取都从快取中进行,不必再调用记忆体 。正是这样的读取机制使CPU读取快取的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在CPU快取中,只有大约10%需要从记忆体读取 。这大大节省了CPU直接读取记忆体的时间,也使CPU读取数据时基本无需等待 。总的来说,CPU读取数据的顺序是先快取后记忆体 。
快取

文章插图
快取工作原理RAM(Random-Access Memory)和ROM(Read-Only Memory)相对的,RAM是掉电以后,其中的信息就消失那一种,ROM在掉电以后信息也不会消失那一种 。RAM又分两种,一种是静态RAM,SRAM(Static RAM);一种是动态RAM,DRAM(Dynamic RAM) 。前者的存储速率要比后者快得多,使用的记忆体一般都是动态RAM 。为了增加系统的速率,把快取扩大就行了,扩的越大,快取的数据越多,系统就越快了,快取通常都是静态RAM,速率是非常的快,但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),价格高(同容量的静态RAM是动态RAM的四倍),由此可见,扩大静态RAM作为快取是一个非常愚蠢的行为,但是为了提高系统的性能和速率,必须要扩大快取,这样就有了一个折中的方法,不扩大原来的静态RAM快取,而是增加一些高速动态RAM做为快取,这些高速动态RAM速率要比常规动态RAM快,但比原来的静态RAM快取慢,把原来的静态RAM快取叫一级快取,而把后来增加的动态RAM叫二级快取 。功能作用硬碟的快取主要起三种作用:预读取当硬碟受到CPU指令控制开始读取数据时,硬碟上的控制晶片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到快取中(由于硬碟上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬碟则不需要再次读取数据,直接把快取中的数据传输到记忆体中就可以了,由于快取的速率远远高于磁头读写的速率,所以能够达到明显改善性能的目的 。