什么是CPU缓存CPU缓存的解释

CPU高速缓存的基本介绍


缓存是CPU的性能参数越来越重要,和最新的处理器是目前广泛使用的三级缓存,最新的AMD推土机架构的顶级处理器FX-8150采用8MB多达三级缓存共享设计。随着CPU任务的日益复杂,大量的数据吞吐量必须伴随着更大的缓存。缓存的作用是什么它对CPU有多重要hellip;hellip;然后让我介绍一下CPU缓存。


CPU有自己的缓存


CPU缓存(高速缓冲存储器)是CPU和内存之间的临时存储器。它的容量比内存小得多,但其交换速度比内存快得多。缓存的出现主要是为了解决CPU的运行速度和内存的读写速度之间的矛盾,因为CPU运算速度要比内存读写速度快得多,这将使CPU花很多时间等待数据到达或写数据到存储器,高速缓存中的数据是内存中的一小部分,但这一小部分是CPU会在短时间内参观。当CPU需要大量的数据,它可以避免调用内存直接从高速缓存,从而加快阅读速度。可以看出,添加在CPU缓存是一种高效的解决方案,这样整个内存(缓存)成为一个高速内存缓存存储大容量缓存对系统。CPU的性能影响很大,主要是由于在CPU和CPU与缓存之间的带宽的数据交换顺序。





缓存的工作原理


缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,用相对慢的速度从内存中读取并发送到CPU处理,而其中的数据块到缓存中的数据,可以让未来的整个数据从缓存中读取,不再叫记忆。这是一个读取机制,使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说,CPU的90%下读取的数据在缓存中,只有大约10%需要从内存读取。这样可以节省CPU直接读取内存的时间,也使CPU无需等待基本读取数据。一般来说,CPU为实现d数据首先缓存内存。




缓存是SRAM内存的使用。


目前,缓存基本上使用的是SRAM存储器。SRAM是英语静态RAM的缩写。这是一个静态的访问功能的存储器,可保存数据存储在内部不需要刷新电路。不像需要刷新存储器DRAM,每隔一段时间,固定刷新DRAM的充电时间,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,它是不完整的,相同容量的DRAM内存可以为小体积设计然而,SRAM的需要量大,这是目前不做缓存容量的一个重要原因是太大了。其特点如下:优点是节能,速度快,不需要记忆刷新电路配合,可提高整体的工作效率效率。其缺点是集成度低、容量大、体积大、价格高,只能在关键系统中使用,以提高效率。










公共CPU缓存级别和功能


根据数据的读取顺序和CPU结合的紧密程度,CPU缓存可以分为一个缓存,两级缓存,一些高端CPU还具有三级缓存,所有的数据存储在每个高速缓存的缓存部分,三缓存的技术难度和制造成本相对减少,所以容量相对增加,当CPU读取数据时,它首先从一级缓存。如果找不到它,那么它将从两级缓存中查找。如果它还不存在,就从三级缓存或内存。在一般情况下,每一级缓存的命中率大概在80%左右,也就是说总数据量的80%都可以在缓存中找到,只剩下20%的总数据需要从两级缓存和三级高速缓存或内存读取,因此缓存是整个CPU的高速缓存架构中最重要的部分。




效果图中的CPU缓存


第一级缓存


第一级缓存(第1级缓存)称为L1缓存,它位于CPU内核的旁边。它是CPU最紧凑的CPU缓存。它也是历史上最早的CPU缓存。


由于技术难度和制造成本的高速缓存是最高的,提高通过能力和成本的增加引起的技术难度非常大,所带来的增加效果不明显,价格低,但现有的缓存命中率是很高的,所以一个缓冲容量最小所有缓存,比两级缓存要少得多。一般来说,一级缓存可以分为数据缓存(缓存),和一级指令缓存(指令缓存,缓存)。


二是用于存储数据和执行这些数据的解码指令,两者可以同时被CPU访问,从而降低了竞争所造成的冲突,提高了处理器的高速缓存的性能。目前,大多数的CPU级数据缓存和指令缓存容量相同的水平,如AMD Athlon XP 64kb具有数据缓存和64KB指令缓存,在64kb 64KB缓存说,CPU的缓存推这样表示的休息。


在CPU-Z缓存CPU的详细信息




英特尔使用CPU Netburst架构(最典型的是奔腾4)缓存是一个有点特殊,在一级高速缓存新增加使用(执行跟踪高速缓存,t-cache或等)取代原指令缓存,容量为12kmu;行动,说12k可以存储12000后解码的指令,跟踪缓存和指令缓存的运行机制是不相同的,指令高速缓存只有在直接解码指令但不存储这些指令,并跟踪缓存也将命令解码,这些指令称为微指令(微操作),它可以在一个跟踪缓存存储微指令,而不需要让每一个解码的过程,所以跟踪CAC他能有效的对指令的解码能力,高频率的增加,亩;OPS是微操作,这是微操作的意义。在一个非常高的速度,它提供了亩;OPS的处理器核心。英特尔NetBurst微体系结构采用执行跟踪高速缓存和分离执行环解码器。这个跟踪缓存提供了操作站与高带宽为核心,主要适用于充分利用软件中的指令级并行机制。英特尔没有发布的第一实际能力水平跟踪缓存,只知道第一级跟踪缓存可以存储12000条微指令(微OPS)。所以,我们不能简单地比较大小的我建设高速缓存指令数。实际上,单核心CPU使用8kmu Netburst架构;OPS的缓存基本上是足够的,超过4kmu;行动可以大大提高缓存命中率。如果你想使用超线程技术,12kmu,行动会有些用处,这就是为什么英特尔处理器有时导致性能下降时,使用超线程技术。







CPU体系结构图中的缓存


例如,Northwood核心级别的缓存是8KB 12kmu;行动,其一级数据缓存8kb说,缓存级别跟踪12kmu;OPS;普雷斯科特核心级缓存16KB 12kmu;行动,其一级数据缓存16kb说,缓存级别跟踪12kmu;OPS。这里12kmu;行动是绝对不平等的对12kb,单位不同,一个是亩;行动,一个字节(字节),这两个是完全不同的。所以英特尔CPU缓存的添加剂,例如Northwood核心作为一个20kb缓存、普雷斯科特为核心28kb缓存,因此英特尔处理器缓存容量远低于对AMD处理器128kb视图缓存能力水平是完全错误的,两者不具有可比性。在CPU架构的比较有一定的差异,一个很多缓存已经难以找到对应的东西,即使在设计思路和功能定义不同的类似名称的缓存,这个时候不能用简单的算术加法的对比;而在结构的CPU比率非常相似,分别比较了各种功能缓存的大小有一定的意义。


两级缓存


CPU缓存(高速缓冲存储器)是CPU和内存之间的临时存储器。它的容量比内存小,但交换速度快,缓存中的数据是内存的一小部分,但这一小部分是CPU将在短时间内访问。当CPU需要大量的数据,它可以避免调用内存直接从高速缓存,从而加快阅读速度。可以看出,添加在CPU缓存是一种高效的解决方案,这样整个内存(缓存)成为一个高速内存缓存存储大容量缓存对系统。CPU的性能影响很大,主要是由于在CPU和CPU与缓存之间的带宽的数据交换顺序。





CPU缓存原理


CPU缓存读取数据的顺序


缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,用相对慢的速度从内存中读取并发送到CPU处理,而其中的数据块到缓存中的数据,可以让未来的整个数据从缓存中读取,不再叫记忆。


这是一个读取机制,使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说,CPU的90%下读取的数据在缓存中,只有大约10%需要从内存读取。这样可以节省CPU直接读取内存的时间,也使CPU无需等待基本读取数据。一般来说,CPU的顺序读取数据到缓存第一。







一级或二级缓存与控制器的工作原理


最早的CPU缓存是一个整体,而且容量很低,英特尔开始从奔腾时代缓存分类。当时,缓存集成在CPU内核是不足以满足CPU的需求,而制造工艺的限制,不可能大幅度提高缓存的容量。因此是一个高速缓存,集成在同一电路板或主板上的CPU。当时,高速缓存是由CPU内核集成称为一级缓存,而外部的一个叫两级缓存。一级缓存也分为数据缓存(缓存)和指令缓存(指令缓存,缓存)。两用于存储数据和执行指令,两者可以同时被CPU访问,从而降低了竞争所造成的冲突,提高了处理器的高速缓存性能。当英特尔推出奔腾4处理器,它增加了一个新的水平跟踪缓存而不是与12kmu和行动能力的指令缓存,这表明它可以存储12k微指令。





cpu缓存的速度和效率


随着CPU制造技术的发展,两级缓存也可以很容易地集成到CPU内核和容量也在逐年增加。这是不准确的定义一个或两个级别的缓存集成在CPU。此外,为两级缓存集成在CPU内核,以前两级缓存和CPU之间的差距也差了。此时,它的工作速度与主频一样,可以为CPU提供更高的传输速度。


测试缓存性能的软件


二级缓存是CPU的关键性能之一。在CPU核心不改变的情况下,增加两级缓存容量可以大大提高性能,同一内核的CPU高、低端在两级缓存中也常常不同,因此可以看出两级缓存对CPU是非常重要的。


CPU在缓存中找到有用的数据被称为命中,和CPU访问内存时,缓存不需要通过CPU的数据(这就是所谓的不打)。理论上,在CPU与二级缓存,读取第一级缓存的命中率是80%。也就是说,对于总数据量80%的CPU级别缓存帐户发现有用的数据,而剩下的20%则是由两级缓存读取。由于要执行的数据不能准确的预测,这两级高速缓存的命中率也在80%左右,这是从两级缓存有用的数据看,占16%的会计数据。然后数据已被存储,但这是一个相当小的比例。在目前的高端CPU,将有也是三级缓存。它的设计是两级缓存读过之后。缓存是三级缓存中的三。只有大约5%的数据需要从内存中调用,这进一步提高了CPU的效率。







该框的大小也被缓存。


为了确保CPU访问具有较高的命中率,缓存中的内容应该按一定的算法取代。最常用的算法是最近最少使用算法(LRU算法),这是消除至少在过去的一段时间内游览线。因此,你需要设置为每行的计数器。LRU算法是零的打线的柜台,和其他行的计数器加1。当更换需要更换,最大数量的数据行的计数器计数了。这是一种高效、科学的算法。调零过程可以消除后不频繁调用所需要的数据,提高缓存的利用。





两个大厂商缓存解决方案的比较


在CPU产品的一级缓存容量为4KB和64KB之间,与两级缓存容量分为128KB,256KB,512KB,1MB、2MB,等。一级缓存容量的产品之间的差异小,与两级缓存容量是提高处理器性能的影响的关键。这两级高速缓存容量的增加是由CPU制造工艺确定。容量的增加必然导致CPU内部晶体管数量的增加。如果我们想在有限的CPU面积上集成更大的缓存,那么制造过程越高,需求就越高。


双核CPU的两级缓存是非常特殊的。与以前的单核CPU相比,最重要的是存储在两个内核缓存中的数据应该是一致的,否则会出现错误。为了解决这个问题,不同的CPU使用不同的方式。


英特尔双核处理器的二级缓存


英特尔核心2处理器


目前,英特尔的双核CPU主要包括三种奔腾D,奔腾EE,酷睿双核,其中奔腾D,奔腾EE两级缓存是完全相同的。Pentium D和Pentium EE两级缓存都是两个独立的缓存在CPU核心,其中8xx核心史密斯菲尔德是8xx,和9xx核心Presler 9xx核心,缓存数据在CPU内核间的同步是依靠仲裁单元位于北桥芯片的主板和传输两核之间通过前端总线来实现的,所以数据延迟问题比较严重,而且性能不满意。酷睿以Yonah为核心,两级缓存是两个核心共享2mb二级高速缓存的共享与英特尔两级缓存;智能cache共享缓存技术,实现真正意义上的缓存数据同步,大大降低了数据延迟,减少了对前端总线的占用,性能良好,两级缓存架构是目前最先进的双核心处理器,在未来,两级英特尔双核心处理器的缓存将使用这两个核心共享二级缓存智能cache共享缓存技术。


AMD双核处理器的两级缓存







AMD 64位处理器


Athlon 64 X2处理器的核心主要是曼彻斯特和托雷多的两个。它们的两级缓存是CPU的两个内部核心,它们具有独立的两级缓存。其中,曼彻斯特的核心是每个核心512KB,托雷多核心是每核心1MB。处理器内部的两芯之间的缓存数据同步是由CPU的内置系统请求接口控制(系统请求接口,SRI),它可以将CPU内部。因此,不仅CPU资源占用很小,而且不需要占用内存总线资源,数据延迟比Smithfield核心和英特尔presler核心少得多,和协作的效率比两个核心。不过,由于这种方式,两核心缓存是相互独立的,且结构也不像英特尔共享缓存技术缓存由Yonah核心为好。