答案 0 :(得分:3)
详细说明您的问题与计算中使用的硬件和软件有关。
<强>缓存强>
这只是一个通用术语,用于指代经常访问的数据集。
在计算中,缓存/kæʃ/ kash,1是存储数据的硬件或软件组件,因此可以更快地提供对该数据的未来请求。
内存缓存
非常简单的是经常访问的数据的缓存,其存储在合理快速的介质中,例如,在RAM或磁盘驱动器上。
CPU缓存
这是一块像内存一样的RAM,它实际上是CPU的一部分。它通常没有很多记忆。
e.g。英特尔酷睿17-920的缓存为8MB Source
此缓存的目的是存储CPU正常使用的数据以加快传输时间,因为CPU缓存在物理上更接近处理器然后是RAM。
答案 1 :(得分:2)
根据Wikipedia;
在计算中,缓存是存储的硬件或软件组件 数据,以便可以更快地提供对该数据的未来请求
所以基本上它是一个存储数据的位置,以便下次您想要数据时可以更快地访问它。这意味着缓存需要位于比原始位置更快的位置。
通常,硬盘用于以持久方式存储大多数数据。这是计算机系统中最大的数据存储,通常很慢。
然而,所有“工作”都由CPU完成。因此,为了处理数据,CPU需要先读取数据,然后对其进行处理,然后将其写出来。由于CPU具有非常有限的存储器/数据寄存器,因此它进行了大量的读写操作。
理想情况下,您的CPU将拥有足够大的数据寄存器来存储您需要的所有内容。但是CPU上的内存非常昂贵,所以这是不切实际的。
因此,您有一个主内存,应用程序在运行时临时存储一些数据以使其更快。
应用程序的工作方式意味着您往往会拥有大量经常访问的数据。通常被称为热门数据。
因此,缓存的目的是存储此类热数据,以便您可以更快速,更轻松地引用它并在需要时使用它。
因此,您拥有数据的CPU核心越近,访问速度越快,性能就越高。但它的价格越贵。
它可以根据CPU架构略有不同(并且随着时间的推移而发生变化)但通常是L1&amp; L2缓存是每个核心。 L3缓存在多个核之间共享。 L1缓存通常也会分为数据缓存和指令缓存。
因此,您的CPU缓存将包含当时访问次数最多的数据,因此存在与主内存或从中获取数据的HDD相关的排序关系。但是因为它很小,如果你做其他事情,缓存会很快改变为使用其他数据,或者如果在后台运行则会更改为其他数据。
因此无法控制CPU的缓存。另外,如果你这样做,你会有效地减慢其他一切(包括O / S),因为你否认他们使用缓存的能力。
每当您的应用程序读取并将数据存储在主内存中时,它就会有效地创建自己的缓存,假设您从该位置访问数据,并且每次需要时都不会从磁盘(或其他位置)读取数据
所以这可能意味着它的一部分也在CPU Cache中,但不一定。因为您可以从应用程序中获取主内存中的数据,但是应用程序没有执行任何操作,或者长时间未访问该数据。
还要记住,与主存储器中的数据相比,CPU缓存中的数据非常小。例如Broadwell Intel Xeon芯片有;
答案 2 :(得分:0)
&#34;内存缓存&#34;似乎真的只是在谈论记忆中的任何地方。有时,这是存储在磁盘或外部的数据缓存。这是一个软件缓存。
CPU缓存是一个硬件缓存,更快,更本地化但更小。