l1缓存和l2缓存有什么区别?

van*_*nak 23 caching

我知道l1和l2缓存是多级缓存中的级别.
我想知道每个级别缓存的放置位置,允许的最大缓存级别数是多少?

Jör*_*tag 17

这两者都取决于CPU.有些CPU根本没有缓存,有CPU在芯片上有L1缓存,L2缓存在同一芯片上的单独芯片上,甚至在单独的芯片上,或者有CPU同时具有L1和L2缓存与CPU核心相同的芯片.

有多核,多芯片CPU,每个核心在芯片上有自己的L1缓存,一个多核芯片的4个核心共享一个片上的L2缓存,但在一个单独的芯片上,2个芯片共享L3缓存位于单独的芯片上,但在同一个封装中.有时,也有所谓的CPU书籍,其中包含多个芯片包,这些芯片包可能有也可能没有自己的共享缓存,后者可能是L4缓存.

当然,多核芯片不必共享其L2缓存,它们也可以具有私有L2缓存.

它并不总是很明显,某个缓存是什么级别,甚至一块RAM是否都是缓存.

例如,在后来的Intel 80486处理器上,芯片上有一个L1缓存,主板上有一个L2缓存.但随后AMD推出了兼容插槽的CPU,芯片上同时具有L1和L2缓存.因此,主板上完全相同的缓存芯片可能是L2或L3缓存,具体取决于您使用的CPU类型.

在Cell BE CPU上,SPE每个都有256 KiByte的RAM.除了这个RAM与典型的L2缓存具有大致相同的大小和相同的速度,并且由于SPE没有任何其他缓存,您还可以将其视为缓存.但是,缓存通常由CPU自动管理,而RAM通常由用户程序,语言运行时或OS管理,而不是CPU.那么,这个RAM还是缓存?事实证明,以达到最佳的性能,你应该认为这是RAM,但更多的软件控制的高速缓存.


Nim*_*mes 10

L1和L2缓存的区别

尽管 L1 和 L2 都是高速缓存,但它们有其主要区别。L1 和 L2 是缓存级别层次结构中的第一个和第二个缓存。

  1. L1 的内存容量比 L2 小。

  2. 此外,L1 的访问速度比 L2 快。

  3. 仅当在 L1 中找不到请求的数据时才访问 L2。**

  4. L1 通常内置于芯片中,而 L2 焊接在非常靠近芯片的主板上。

  5. 因此,与 L2 相比,L1 的延迟非常小。因为L1是用SRAM实现的,L2是用DRAM实现的,所以L1不需要刷新,而L2需要刷新。

  6. 如果缓存是严格包含的,则 L1 中的所有数据也可以在 L2 中找到。但是,如果缓存是独占的,则 L1 和 L2 中将无法使用相同的数据。

如果您想深入阅读,请单击此链接

  • 此评论已过时。一般来说,现代处理器上的 L2(和 L3)缓存是 CPU 封装的一部分,而 L1 缓存则直接位于 CPU 内。所有缓存单元也都是使用 SRAM 实现的。 (3认同)

Sac*_*hag -2

取自此链接-

L1 和 L2 是计算机中的高速缓存存储器级别。如果计算机处理器可以在高速缓冲存储器中找到其下一次操作所需的数据,那么与从随机存取存储器中获取数据相比,它将节省时间。L1 是“一级”高速缓冲存储器,通常构建在微处理器芯片本身上。例如,Intel MMX 微处理器带有 32000 字节的 L1。

L2(即二级)高速缓冲存储器位于单独的芯片上(可能位于扩展卡上),可以比较大的“主”存储器更快地访问。流行的 L2 高速缓存大小为 1,024 KB(一兆字节)。

完整的缓存架构可以在WIKI中找到