【问题标题】:what is the difference between l1 cache and l2 cache?l1缓存和l2缓存有什么区别?
【发布时间】:2011-04-11 14:31:16
【问题描述】:

我知道 l1 和 l2 缓存是多级缓存中的级别。
我想知道每一级缓存放在什么位置,允许的最大缓存级数是多少?

【问题讨论】:

标签: caching


【解决方案1】:

这两者都依赖于 CPU。有的 CPU 根本没有缓存,有的 CPU 在芯片上具有 L1 缓存,而 L2 缓存在同一芯片上的单独芯片上,甚至在单独的芯片上,或者有 L1 和 L2 缓存的 CPU在与 CPU 内核相同的芯片上。

有多核、多芯片 CPU,其中每个内核在芯片上都有自己的 L1 缓存,一个多核芯片的 4 个内核共享一个芯片上的 L2 缓存,但在单独的芯片上,并且2 个芯片共享一个位于单独芯片上但在同一个封装中的 L3 缓存。有时,也有所谓的 CPU 书籍,其中包含多个芯片封装,它们可能有也可能没有自己的共享缓存,然后是 L4 缓存。

当然,多核芯片不必共享它们的二级缓存,它们也可以有私有二级缓存。

而且并不总是很明显,某个缓存是什么级别,甚至一块 RAM 是否是缓存。

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

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

【讨论】:

    【解决方案2】:

    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 中使用。

    IF YOU WANT TO READ DEEPLY CLICK THIS LINK

    【讨论】:

    • 此评论已过期。一般而言,现代处理器上的 L2(和 L3)高速缓存是 CPU 包的一部分,而 L1 高速缓存直接位于 CPU 内。所有的缓存单元也是使用 SRAM 实现的。
    【解决方案3】:

    取自link-

    L1 和 L2 是计算机中的高速缓存级别。如果计算机处理器可以在高速缓存中找到下一次操作所需的数据,与必须从随机存取存储器中获取数据相比,它将节省时间。 L1 是“一级”高速缓存,通常内置于微处理器芯片本身。例如,英特尔 MMX 微处理器带有 32,000 字节的 L1。

    L2(即二级)高速缓存位于单独的芯片上(可能在扩展卡上),与更大的“主”内存相比,它的访问速度更快。流行的 L2 高速缓存内存大小为 1,024 KB(一兆字节)。

    完整的缓存架构在这里WIKI

    【讨论】:

    • 该链接有些过时了 - 当前的 CPU 通常在芯片上同时具有 L1 和 L2。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2018-03-27
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2010-11-09
    相关资源
    最近更新 更多