cpu缓存和内存缓存有什么区别?cpu缓存和内存缓存有什么区别
[>当数据被缓存在存储器中也有较高的概率
这个数据也被缓存在执行 线程CPU的CPU的高速缓存。] 1
我们如何将缓存与cpu和内存联系起来?
cpu缓存和内存缓存有什么区别?cpu缓存和内存缓存有什么区别
[>当数据被缓存在存储器中也有较高的概率
这个数据也被缓存在执行 线程CPU的CPU的高速缓存。] 1
我们如何将缓存与cpu和内存联系起来?
“内存缓存”似乎真的只是在谈论内存中的任何地方。有时这是存储在磁盘或外部的数据缓存。这是一个软件缓存。
CPU缓存是硬件缓存,速度更快,本地化更强,但体积更小。
根据Wikipedia;
在计算中,缓存是存储 数据,因此该数据的未来请求可以更快地服务
所以基本上它是存储数据,这样的位置的硬件或软件组件下一次你想要的数据可以更快地访问它。这意味着缓存需要位于比原始位置更快的位置。
通常情况下,硬盘用于以持久方式存储大部分数据。这是计算机系统中最大的数据存储,速度通常很慢。
所有的“工作”都由CPU完成。因此,为了处理数据,CPU需要首先读取数据,然后处理它,然后将其写出。由于CPU具有非常有限的内存/数据寄存器,因此它可以进行大量的读写操作。
理想情况下,您的CPU将有足够大的数据寄存器来存储您需要的一切。但CPU上的内存非常昂贵,所以这是不实际的。
因此,您有主存储器,应用程序在运行时临时存储一些数据以使其更快。
应用程序的工作方式意味着您往往会有大量非常频繁访问的数据。通常被称为热数据。
因此,缓存的目的是存储这样的热门数据,以便您可以更快,更轻松地引用它并在需要时使用它。
所以越接近CPU核心,你的数据越快,它可以被访问,因此性能提高。但是它更昂贵。
它可以根据CPU架构略有不同(并且随着时间而改变),但通常每个核心都有一个L1高速缓存L2 &。三级缓存在多个内核之间共享。 L1高速缓存通常也被分成数据高速缓存和指令高速缓存。
因此,您的CPU缓存将包含当时访问次数最多的数据,因此存在与主存储器或从中获取数据的HDD的排序关系。但是因为它很小,所以如果你做了其他的事情,缓存会很快变成使用其他数据,或者如果在后台运行,缓存会变成其他数据。
因此,不能真正控制CPU的缓存。另外如果你这样做,你会有效地减慢其他一切(包括O/S),因为你拒绝他们使用缓存的能力。
每当您的应用程序在主存储器中读取和存储数据时,它都会有效地创建自己的缓存,假设您随后从此位置访问数据,并且不会在每次需要时从磁盘(或其他位置)读取数据它。
所以这可能意味着它的一部分也在CPU缓存中,但不一定。正如你可以从你的应用程序中获得主内存中的数据,但是你的应用程序没有做任何事情,或者很长一段时间没有访问这些数据。
还请记住,与主存储器中的数据相比,CPU高速缓存中的数据非常小。例如Broadwell Intel Xeon芯片有;
CPU和内存缓存是一样的...除非你指的是寄存器和缓存。如果是这样的话...... http://superuser.com/questions/208932/difference-between-cache-memory-and-register – Kenyanke