问题

为什么英特尔和 AMD 的 CPU 缓存只有三级,而不做四级或者更多?

回答
这个问题问得挺好,也触及了CPU设计的一个核心权衡点。说起来,CPU缓存的设计并非越多越好,它背后是一系列非常复杂的取舍。英特尔和AMD之所以普遍采用三级缓存(L1, L2, L3),而不是四级甚至更多,主要是出于以下几个关键因素的考虑:

1. 性能与延迟的平衡:

缓存层级越多,访问延迟越高。 这是一个基本物理定律。每一级缓存都需要通过物理线路连接,数据在这些线路上传输需要时间。更何况,每一级缓存都有其自己的控制逻辑、查找机制,这些都会增加额外的处理时间。
L1 缓存: 速度最快,最靠近核心,容量最小。专门用来存放当前CPU最急需的数据和指令。它的目标是“毫秒级”访问,或者说,能够跟上核心的执行速度。
L2 缓存: 比 L1 慢一些,但比 L3 快,容量也比 L1 大。用来存储 L1 中未命中但很可能再次用到的数据。
L3 缓存: 容量最大,速度最慢的缓存,通常是所有核心共享的。它的作用是缓存大量可能需要的数据,并且在不同核心之间共享数据时充当一个“沟通”的枢纽。
如果增加 L4 缓存: 理论上,L4 缓存可以存储更多的数据,进一步减少访问主内存的次数。但是,L4 缓存到 L3 缓存之间又会增加一层延迟。而且,一旦引入 L4,为了让 L4 真正能发挥作用,它可能需要比 L3 更大的容量,这又会带来物理尺寸和功耗的挑战。
缓存命中率的边际效益递减。 现代CPU设计已经非常精妙,三级缓存的体系结构能够捕获到绝大多数的局部性(Spatial Locality 和 Temporal Locality),也就是程序运行中经常访问相同的数据或者附近的数据。增加第四级缓存,虽然理论上能再拦截一部分访问主内存的需求,但其带来的命中率提升可能不足以抵消增加的延迟和成本。就好比你已经有了三个筛子,再加一个筛子,能过滤出来的沙子可能非常少了,但筛子的成本却增加了。

2. 成本与制造成本:

SRAM(静态随机存取存储器)成本高昂。 缓存的实现通常依赖于SRAM,这种存储器速度快但密度低,也就是相同的存储容量需要占用更多的晶体管和物理空间。
缓存容量越大,芯片面积越大,制造成本越高。 每增加一级缓存,尤其是像 L3 这样容量较大的缓存,都需要占用大量的硅片面积。CPU芯片的面积是影响良品率和成本的关键因素之一。增加一级缓存,意味着要设计和制造一个更大、更复杂的芯片,这会显著增加研发和生产的成本。
制程工艺的限制。 即便技术允许,增加更多缓存也可能因为制程节点的限制而变得不切实际。更高的缓存容量可能需要特定的制程技术来支持,或者在现有制程下,会导致更多的漏电或功耗问题。

3. 功耗与发热:

缓存是主要的功耗大户之一。 无论是读取数据还是保持数据,缓存单元都需要消耗能量。缓存容量越大,工作频率越高,功耗也就越大。
多级缓存意味着更多的晶体管和更复杂的控制逻辑,这会直接导致更高的功耗和发热。 想象一下,四级缓存意味着你需要更多的电信号在芯片内部传递,更多的芯片区域需要工作,自然也就消耗更多的电能,产生更多的热量。
热量是限制CPU性能的重要因素。 过高的温度会导致CPU降频(Thermal Throttling),反而会降低性能。因此,在设计CPU时,功耗和散热是必须被严格考虑的。

4. 设计复杂度与验证难度:

缓存一致性协议(Cache Coherency Protocols)的复杂性。 在多核CPU中,为了保证不同核心访问同一份数据时数据的一致性,需要一套复杂的缓存一致性协议(如MESI、MOESI等)。随着缓存层级的增加,维护缓存一致性的协议会变得极其复杂,调试和验证的难度也会呈指数级增长。
分支预测、指令预取等优化技术的集成。 除了缓存本身,CPU还有很多其他的优化技术。这些技术与缓存协同工作,共同提升性能。增加缓存层级可能会打乱原有的优化平衡,需要重新设计和调整这些技术,增加了设计的复杂度。

为什么说三级缓存是“黄金分割点”?

经过多年的发展和优化,现有的三级缓存架构在“性能”、“成本”、“功耗”和“设计复杂度”之间找到了一个相对最优的平衡点。它能够有效地缓解主内存的访问瓶颈,同时又不会带来过高的延迟、成本和功耗。

举个例子:

你可以把CPU核心想象成一个勤劳的工人,L1缓存是工人手边的工具箱,L2缓存是放在工人旁边的工具柜,L3缓存是放在车间另一头的工具间,而主内存(RAM)则是仓库在另一个城市的某个地方。

工人最常用的工具肯定放在手边(L1)。
经常要用的工具会放在旁边的工具柜(L2)。
不太常用但可能需要的东西,或者车间里其他工人也可能需要的工具,会放在车间里的工具间(L3)。
仓库里的东西则需要派车去拉(主内存)。

如果再增加一个“车间附近的小仓库”(L4),确实能再减少去大仓库的次数,但每次去小仓库都要走一段路,这个路程本身就有时间损耗。如果小仓库里的东西不经常用,那增加它的意义就不大,反而增加了管理和维护的麻烦。

未来的可能性:

当然,这并不意味着未来不会出现四级甚至更多级缓存的CPU。随着制程技术的进步,SRAM的密度可能会进一步提高,功耗和发热问题也可能得到更好的解决。未来,我们可能会看到一些专门为特定应用设计的CPU,可能会采用不同于主流的三级缓存结构。例如,在一些嵌入式系统或者对能效比要求极高的场景下,可能会有更精简或更特殊的缓存设计。

总而言之,现阶段三级缓存是英特尔和AMD在复杂权衡下做出的最佳选择,它在性能提升、成本控制、功耗管理和设计可行性之间实现了平衡。

网友意见

user avatar

谢邀。实际上问题并不成立,因为已经有L4了,它有两种形式:

eDRAM

  • Haswell/Broadwell:在Iris系列中,一块高速DRAM被放入Package中,叫做eDRAM。

它在平时可以做显存。也可以被设定为L4缓存

Optane DIMM

Intel 2018年将要推出内存条形式的Optane:3D XPoint

因为Optane内存是NvRAM(非易失)的内存,且容量很大,普通的内存条在这时当作他的cache,类似L4 cache,不过不保证通常意义上的“Cache一致性”。

引申

从广义的角度上看,Cache是快设备为了缓解访问慢设备延时的预留的Buffer,从而可以在掩盖访问延时的同时,尽可能地提高数据传输率。 快和慢是一个相对概念,与微架构(Microarchitecture)中的 L1/L2/L3 Cache相比, DDR内存是一个慢速设备;在磁盘 I/O 系统中,DDR却是快速设备,在磁盘 I/O 系统中,仍在使用DDR内存作为磁介质的Cache。在一个微架构中,除了有L1/L2/L3 Cache之外,用于虚实地址转换的各级TLB, MOB( Memory Ordering Buffers)、在指令流水线中的ROB,Register File和BTB等等也是一种Cache。

就算是狭义 Cache,是CPU流水线和主存储器的 L1/L2/L3 Cache,它的演进也是渐进的:

  • PC-AT/XT和286时代:没有Cache,CPU和内存都很慢,CPU直接访问内存。
  • 386时代:CPU速度开始和内存速度不匹配了。为了能够加速内存访问,芯片组增加了对快速内存的支持,这也是在电脑上第一次出现Cache(尽管IBM 360 model系统上已经出现很久了),也是L1(一级Cache)的雏形。这个Cache是可选的,低端主板并没有它,从而性能受到很大影响。而高级主板则带有64KB,甚至高端大气上档次的128KB Cache,在当时也是可以笑傲江湖了。当时的Cache都是Write-Through,即Cache内容的更新都会立刻写回内存中。
  • 486时代:Intel在CPU里面加入了8KB的L1 Cache,当时也叫做内部Cache。它在当时是Unified Cache,就是不分代码和数据,都存在一起。原先在386上面的Cache,变成了L2,也被叫做外部Cache。大小从128KB到256KB不等。这时增加了Write-back的Cache属性,即Cache内容更改后不立刻更新内存,而是在Cache miss的时候再更新,避免了不必要的更新。
  • 586/Pentium-1时代:L1 Cache被一分为二,分为Code和data,各自8KB。这是因为code和data的更新策略并不相同,而且因为CISC的变长指令,code cache要做特殊优化。与此同时L2还被放在主板上。后期Intel推出了Pentium Pro ('80686'),L2被放入到CPU的Package上:
  • 奔腾2/3:变化不大,L2还在CPU Die外面,只是容量大了不少。
  • 奔腾4/奔腾D:L2被放入到了Die里面。这就和现在的L1和L2很相像了,问题来了,多内核呢?第一代奔腾D双核中,L1和L2被两个Die各自占据。Netburst的Pentium 4 Extreme Edition高端版甚至加入L3。但在后期与HT一起随着Netburst架构被放弃。
  • Core/Core2:巨大的变化发生在L2,L2变成多核共享模式:
  • 现在:L3被加入到CPU Die中,它在逻辑上是共享模式。而L2则被每个Core单独占据。这时L2也常被指做MLC(Middle Level Cache),而L3也被叫做LLC(Last Level Cache):

结论

细心的读者也许会发现,Cache演变总的来说级数在增加,新加入的层级在位置上总是出现在外层,逐渐向内部靠近。回到我前面的两个L4的例子来看,L4都不在CPU的Die里,未来也许会增加到Die内,CPU还在演进之中,未来还是未知之数。

本文大部分出自:

Cache其他文章:

欢迎大家关注我的专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。同时欢迎大家给本专栏和公众号投稿!

类似的话题

  • 回答
    这个问题问得挺好,也触及了CPU设计的一个核心权衡点。说起来,CPU缓存的设计并非越多越好,它背后是一系列非常复杂的取舍。英特尔和AMD之所以普遍采用三级缓存(L1, L2, L3),而不是四级甚至更多,主要是出于以下几个关键因素的考虑:1. 性能与延迟的平衡: 缓存层级越多,访问延迟越高。 这.............
  • 回答
    这问题问得挺实在的,很多人都疑惑,为什么同样是八核十六线程,英特尔和 AMD 的价格能差出个千八百块来。这可不是随便定价的,这里面道道可多了去了,得一点点掰开了说。首先,得明白一个最根本的点:“同性能”是相对的,而且价格差异不仅仅是性能决定的。 即使是八核十六线程这个规格听起来一样,但它们内部的设计.............
  • 回答
    你这个问题问得很有意思,它触及到了英特尔和AMD与苹果在处理器设计理念上的一个根本区别。苹果之所以能做到“统一内存”,主要得益于他们对整个硬件和软件生态链的完全掌控,而英特尔和AMD则是在一个更为开放和复杂的个人电脑(PC)和服务器市场环境中运作。首先,我们得理解什么是“统一内存”。在苹果的M系列芯.............
  • 回答
    这可不是一句简单的“AMD 不行”就能概括的。英特尔的 14nm 和 AMD 的 7nm 能在某些方面拼个你死我活,背后是两种截然不同的技术策略和市场考量。我们得把这事儿掰开了揉碎了说。首先,得明白一点:制程工艺的数字(比如 14nm 和 7nm)并不是一个绝对的性能衡量标尺,而是一个相对的概念,而.............
  • 回答
    “不再挤牙膏”这个说法,形象地比喻了英特尔在过去几年中,产品更新迭代速度放缓,性能提升幅度不大,仿佛是“挤牙膏”一样,一点一点地放出新功能和性能。而 AMD 在近年来的崛起,特别是其 Ryzen 系列处理器的大放异彩,确实在很大程度上“逼迫”英特尔改变了这种策略。究其原因,这是一个多方面因素共同作用.............
  • 回答
    要理解为什么苏联没有出现类似英特尔或AMD的微处理器产业,需要回到那个时代的历史背景、科技发展路径和经济体制的根本差异。这并非单一原因造成的,而是多方面因素交织作用的结果。首先,我们得明白,微处理器(CPU)的出现是建立在集成电路(IC)技术的成熟基础之上的。苏联在集成电路的早期研发和制造上并非完全.............
  • 回答
    要理解为什么在某些性能测试中,AMD 的处理器(CPU)“得分高但能耗也高”,我们需要深入探讨处理器架构的几个核心方面,并将其与英特尔的策略进行对比。这并非一个简单的“好坏”之分,而是两种不同的设计哲学和权衡的结果。首先,我们得明确“得分高”和“低能”的语境。通常,“得分高”指的是在合成基准测试(如.............
  • 回答
    这个问题挺有意思的,很多人可能看到AMD在制程工艺上的宣传,比如“7纳米AMD Yes!”,就觉得AMD在制程上已经遥遥领先,为什么市场主流还看到很多Intel的14纳米甚至10纳米产品呢?这里面其实有不少门道,咱们掰开了揉碎了说,让你明白其中的逻辑。首先,要明白“制程工艺”是怎么回事,以及为什么重.............
  • 回答
    英特尔最近公布的新芯片计划,无疑在整个行业掀起了一阵波澜,特别是对于其老对手 AMD 来说,这可能预示着一场重塑竞争格局的重大转变。究其原因,我们可以从几个关键点深入剖析。首先,英特尔在制造工艺上的突破,可以说是这场潜在命运改变的核心驱动力。长期以来,AMD 在桌面和服务器 CPU 领域,凭借其 Z.............
  • 回答
    超威半导体(AMD)近年来确实取得了令人瞩目的成就,在CPU和GPU市场都展现出了强大的竞争力,甚至在某些领域超越了曾经的王者英特尔和英伟达。然而,在现实的芯片市场和技术生态系统中,选择哪家公司的产品,往往是一个复杂而多维度的决策,涉及到性能、价格、生态系统、特定应用需求、品牌忠诚度、以及未来发展潜.............
  • 回答
    这确实是一个很有意思的问题,涉及到市场格局、玩家认知以及我们对“垄断”这个词的理解。简单来说,英伟达(NVIDIA)和超威半导体(AMD)之所以没有被国内玩家广泛指责为“垄断”,主要有以下几个层面的原因:一、 垄断的定义与市场现实的微妙之处首先,我们需要明确一下“垄断”的定义。在经济学上,垄断通常指.............
  • 回答
    要说英特尔从酷睿一代(Core 2 Duo)开始大幅领先AMD,这确实是个人们普遍的认知,也是一个重要的行业转折点。要详细解释这个现象,我们需要从几个关键维度来剖析。历史背景:AMD的辉煌与英特尔的危机在进入酷睿一代之前,AMD并非一无是处。在“奔腾4”(Pentium 4)时代,英特尔在核心频率上.............
  • 回答
    这个问题挺有意思的,也触及到了当前 PC 硬件圈的一个热门话题。为什么 AMD 势头这么猛,但仍然有人对英特尔情有独钟,甚至在网上“吹”?我来跟你聊聊我的看法,尽量说得详细点,也把 AI 的痕迹抹掉。先说说 AMD 为什么让大家觉得“全方位压制”:这几年 AMD 在 CPU 领域确实是打了一场漂亮的.............
  • 回答
    我明白你的意思,想知道为什么很多人觉得装 AMD 主机对新手来说比 Intel 更“难搞”,是不是有什么坑点或者门道是新手容易忽略的。咱就实话实说,不搞那些花里胡哨的 AI 语术,直接聊聊这事儿。首先得明确一点:“难搞”这说法有点夸张,但确实存在一些需要新手注意的点,跟 Intel 的体验不太一样,.............
  • 回答
    关于英特尔(Intel)为何在先进工艺节点上进展相对缓慢,甚至一度被戏称为“挤牙膏”,而超威半导体(AMD)则凭借其先进的制程工艺取得了巨大的成功,这其中是否存在英特尔为了给AMD发展机会的战略考量,是一个非常有意思但同时也非常复杂的问题。结论先行:我认为英特尔没有“故意”给AMD发展机会。 这是一.............
  • 回答
    2 月 15 日,一个具有里程碑意义的日子,AMD(超微半导体)的市场市值首次超越了老牌巨头英特尔。根据收盘数据,AMD 的市值突破了 1.2 万亿人民币的关口,这标志着这家公司在半导体行业多年的努力终于结出了硕果,成功地在市值上实现了对英特尔的反超。这一事件的意义远不止于一个简单的数字游戏,它折射.............
  • 回答
    你提出的这个问题非常核心,触及了英特尔x86架构设计的一个重要哲学。简单来说,这种限制是为了平衡指令的灵活性、性能以及设计的复杂度。让我们来剖析一下其中的原因。首先,我们需要理解一下什么是“源操作数”和“目标操作数”,以及为什么它们可以是内存。在CPU的指令集中,操作数(operand)就是指令要处.............
  • 回答
    12代酷睿处理器,不带F后缀和带F后缀的型号之间价差不大,这确实是很多消费者在选择时会遇到的一个问题。这背后其实涉及到几个关键因素,不能简单地归结为核显不值钱或是清库存,而是多种市场和技术策略的综合体现。首先,我们得明白F后缀代表什么。Intel酷睿处理器中的“F”后缀,最核心的区别就是不集成核显。.............
  • 回答
    这问题我太有感触了,身边好多朋友都在纠结。说实话,10代、11代酷睿跟锐龙5000系比起来,在很多方面确实没占到便宜,甚至可以说是有点被压制的意思。但即便如此,还是有很多人愿意选择英特尔,这里面的原因挺复杂的,不是一两句话能说清楚的。首先,品牌惯性是个绕不开的坎。英特尔这牌子在国内耕耘了多少年了?从.............
  • 回答
    英国和法国未能统一成一个国家,这并非一个偶然,而是历史长河中一系列复杂因素共同作用的结果。想要深入理解这一点,我们需要从地缘政治、历史事件、文化差异以及政治制度等多个维度来剖析。首先,地理上的天然屏障是最显而易见的原因。英吉利海峡,这条分隔不列颠岛与欧洲大陆的天然水域,在历史上扮演了至关重要的角色。.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有