Skip to content

半导体工艺对微架构的约束

一颗5nm处理器芯片上集成了超过200亿个晶体管。如果将这些晶体管排成一行,总长度超过100公里。而芯片本身不过指甲盖大小——电信号从芯片的一端传播到另一端,在5 GHz的时钟下可能需要超过一个时钟周期。这个简单的事实揭示了一个深刻的道理:物理决定了设计的边界。无论微架构多么精妙,它最终必须在硅片上实现,受制于晶体管的开关速度、导线的信号延迟、以及不可逾越的功耗密度上限。

设计提示

统一视角。半导体工艺是投机并行的"预算约束"。晶体管数量决定了可以构建多少并行结构(更宽的发射、更大的ROB、更多的Cache容量);功耗密度决定了同一时刻能够激活多少投机机制(分支预测器、值预测器、预取器不能全部同时满功率运行);导线延迟决定了旁路网络和互连的可行范围(bypass信号能否在单周期内到达)。回顾第 1.0 章中性能公式的三个因子,TcycleT_{\text{cycle}}的物理下限正是由本章讨论的晶体管延迟和导线RC延迟共同决定的。

第 1.0 章第 2.0 章中,我们从微架构的角度讨论了超标量处理器的基本结构和流水线组织。然而,任何微架构设计最终都必须在具体的半导体工艺上实现为物理芯片。工艺节点决定了晶体管的驱动能力与漏电特性、导线的延迟与带宽、存储单元的面积与稳定性、以及整个芯片的功耗与热密度上限。可以说,半导体工艺是微架构设计的物理边界——处理器架构师如果不理解这些约束,就无法做出正确的设计权衡。

本章将从晶体管结构的演进出发,依次讨论导线延迟、功耗物理基础、存储单元面积以及先进工艺节点的关键特性,揭示这些物理因素如何深刻地影响着处理器微架构的每一个设计决策。需要特别强调的是,本章所讨论的内容并非"半导体工艺入门",而是从处理器架构师的视角出发,聚焦于那些直接影响微架构决策的工艺特性。对于工艺本身更深入的物理机理,读者可以参考相关的半导体器件物理教材。

晶体管的演进

晶体管是集成电路的基本构建模块。从20世纪60年代的平面MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor),到2011年Intel在22nm节点首次量产的FinFET,再到2024年以后逐步进入生产的GAA(Gate-All-Around)纳米片晶体管,以及面向未来的CFET(Complementary FET),晶体管结构经历了革命性的变化。每一次结构变革都是为了在更小的物理尺寸下维持对沟道的静电控制能力,从而在降低漏电的同时保持足够的驱动电流。

对处理器架构师而言,晶体管结构的演进带来了以下直接影响:

  • 驱动电流IonI_{\mathrm{on}})决定了逻辑门的开关速度,从而影响关键路径延迟和最高频率;

  • 漏电流IoffI_{\mathrm{off}})决定了静态功耗,影响芯片的热设计功耗(TDP)和暗硅比例;

  • 亚阈值摆幅(Subthreshold Swing, SS)表征了晶体管从关断到导通的陡峭程度,理想值为60 mV/dec,实际值越接近理想值意味着可以在更低的VddV_{\mathrm{dd}}下工作;

  • 晶体管密度决定了单位面积可以容纳的逻辑和存储量,直接影响处理器的微架构预算——例如能放多大的ROB、多少项的BTB、多大的L2 Cache;

  • 工艺变异(Process Variation)随着尺寸缩小而在统计上更加显著,影响时序签核裕度和良率,间接影响可实现的频率。

平面MOSFET

平面MOSFET是最经典的晶体管结构。其基本构造如图图 3.1所示:在硅衬底上通过离子注入形成源极(Source)和漏极(Drain)区域,中间是沟道区域,沟道之上依次是薄层栅氧化物(Gate Oxide)和栅极(Gate)。当栅极电压超过阈值电压VthV_{\mathrm{th}}时,沟道表面形成反型层,允许电流从源极流向漏极。

平面MOSFET的截面结构示意图(NMOS为例)
平面MOSFET的截面结构示意图(NMOS为例)

平面MOSFET的一个关键物理参数是栅极长度LgL_g。在摩尔定律驱动下,LgL_g从早期的10 m一路缩小到130nm、90nm、65nm、45nm节点的数十纳米量级。MOSFET的驱动电流(在饱和区)由以下公式近似描述:

Id,sat=12μnCoxWL(VgsVth)2(1+λVds) I_{\mathrm{d,sat}} = \frac{1}{2}\mu_n C_{\mathrm{ox}} \frac{W}{L} (V_{\mathrm{gs}} - V_{\mathrm{th}})^2 (1 + \lambda V_{\mathrm{ds}})

其中μn\mu_n是电子迁移率,Cox=εox/toxC_{\mathrm{ox}} = \varepsilon_{\mathrm{ox}}/t_{\mathrm{ox}}是栅氧化层单位面积电容,WWLL分别是沟道宽度和长度,λ\lambda是沟道长度调制系数。从式 (3.1)可以看出,缩小LL可以直接增大驱动电流,这是工艺缩放提高晶体管速度的基本物理机制。

然而,当LgL_g缩小到约30 nm以下时,平面MOSFET遇到了严重的短沟道效应(Short-Channel Effect, SCE):栅极对沟道的静电控制变弱,源漏之间的电场可以直接穿透沟道,导致:

  1. DIBL效应(Drain-Induced Barrier Lowering):漏极电压对沟道势垒产生显著影响,使VthV_{\mathrm{th}}随漏压增大而降低,漏电急剧增加。在45nm平面工艺中,DIBL可以达到80 mV/V–150 mV/V,意味着漏极电压每增加1 V,阈值电压降低80 mV–150 mV;

  2. 亚阈值漏电增大IoffI_{\mathrm{off}}指数级增长,静态功耗变得不可忽视。在65nm平面工艺中,高性能晶体管的IoffI_{\mathrm{off}}可以达到100 nA/m以上;

  3. 栅氧化层隧穿:为了维持栅极控制力,需要将栅氧化层做得极薄(<2nm< \SI{2}{nm}),但过薄的氧化层会产生量子力学隧穿电流。SiO2_2在厚度低于1.5 nm时隧穿电流已经无法接受。引入高κ\kappa介质材料(如HfO2_2κ25\kappa \approx 25,远高于SiO2_2κ3.9\kappa \approx 3.9)可以在保持等效氧化层厚度(EOT)不变的前提下使用更厚的物理氧化层,从而大幅降低隧穿电流。EOT的定义为:

EOT=thigh-κ×κSiO2κhigh-κ=thigh-κ×3.9κhigh-κ \mathrm{EOT} = t_{\mathrm{high\text{-}\kappa}} \times \frac{\kappa_{\mathrm{SiO}_2}}{\kappa_{\mathrm{high\text{-}\kappa}}} = t_{\mathrm{high\text{-}\kappa}} \times \frac{3.9}{\kappa_{\mathrm{high\text{-}\kappa}}}

例如使用3 nm的HfO2_2,其EOT3×3.9/250.47nm\approx 3 \times 3.9/25 \approx \SI{0.47}{nm},远薄于相同物理厚度的SiO2_2所能提供的EOT。

在Intel的45nm节点(2007年),高κ\kappa/金属栅(HKMG)技术被引入以解决栅极漏电问题。但平面结构本身对短沟道效应的抑制能力已经接近物理极限。学术界提出了一个简单但有力的判据——"自然长度"(natural length)λN\lambda_N——来衡量栅极对沟道的控制能力。对于平面MOSFET:

λN=εSiεoxtoxtSi \lambda_N = \sqrt{\frac{\varepsilon_{\mathrm{Si}}}{\varepsilon_{\mathrm{ox}}} \cdot t_{\mathrm{ox}} \cdot t_{\mathrm{Si}}}

其中tSit_{\mathrm{Si}}是硅体的有效厚度。为了保持良好的短沟道控制,需要Lg510λNL_g \geq 5\sim 10\lambda_N。在平面MOSFET中,由于tSit_{\mathrm{Si}}本质上等于衬底厚度(远大于LgL_g),λN\lambda_N很大,难以满足缩放要求。到了22nm/20nm节点,平面MOSFET的漏电密度已经达到了约100 nA/m的量级,单凭平面结构已经无法满足先进工艺的功耗要求,必须转向三维结构。

FinFET

FinFET(Fin Field-Effect Transistor)通过将沟道从平面变为立体的鳍片(Fin)结构,实现了栅极对沟道的三面包围控制(tri-gate),从而大幅增强了短沟道控制能力。Intel在2011年的22nm节点首次量产了FinFET(Intel称之为"tri-gate"),随后TSMC和Samsung也分别在16nm/14nm节点跟进。FinFET是过去十多年(2011\sim2025年)高性能芯片最主要的晶体管结构,涵盖了从22nm到3nm的多个工艺代。

FinFET的截面结构示意图:栅极从三个方向包围鳍片状沟道
FinFET的截面结构示意图:栅极从三个方向包围鳍片状沟道

从"自然长度"的角度来理解FinFET的优势:对于FinFET,由于沟道是一个有限厚度的鳍片(tSi=Wfint_{\mathrm{Si}} = W_{\mathrm{fin}},仅5–7 nm),且栅极从三面包围,其自然长度大幅缩小:

λNFinFETεSi2εoxtoxWfin \lambda_N^{\mathrm{FinFET}} \approx \sqrt{\frac{\varepsilon_{\mathrm{Si}}}{2\varepsilon_{\mathrm{ox}}} \cdot t_{\mathrm{ox}} \cdot W_{\mathrm{fin}}}

由于WfinW_{\mathrm{fin}}远小于平面MOSFET中的tSit_{\mathrm{Si}},FinFET的λN\lambda_N大幅减小,允许LgL_g进一步缩小而仍然保持良好的静电控制。

FinFET的核心优势在于:

  1. 更强的静电控制:栅极从三面包围沟道,大幅降低了DIBL效应。在相同栅极长度下,FinFET的DIBL可以从平面MOSFET的80 mV/V–150 mV/V降低到20 mV/V–50 mV/V;亚阈值摆幅可以从平面MOSFET的80 mV/dec–100 mV/dec改善到65 mV/dec–75 mV/dec;

  2. 更低的漏电:更好的沟道控制使得IoffI_{\mathrm{off}}降低了一个数量级以上。Intel 22nm FinFET相比其32nm平面工艺,IoffI_{\mathrm{off}}降低了约10×10\times

  3. 更高的驱动电流:鳍片的高度HfinH_{\mathrm{fin}}增加了有效沟道宽度。一个鳍片的有效宽度为Weff=2Hfin+WfinW_{\mathrm{eff}} = 2H_{\mathrm{fin}} + W_{\mathrm{fin}},其中HfinH_{\mathrm{fin}}通常为35–50 nm,WfinW_{\mathrm{fin}}为5–7 nm(在先进节点),因此一个鳍片可以提供约75–107 nm的等效宽度;

  4. 更低的工作电压:更好的SS特性使得VddV_{\mathrm{dd}}可以从平面MOSFET时代的0.9–1.1 V降低到0.65–0.80 V,动态功耗相应大幅降低。

然而,FinFET也存在一些固有的限制。首先,驱动电流只能以鳍片为单位量化调节。在平面MOSFET中,可以连续调整沟道宽度WW来获得所需的驱动能力;但在FinFET中,只能选择1个、2个或3个鳍片,驱动能力是离散的。这对标准单元库的设计产生了深远影响——在7nm和5nm节点,高性能标准单元通常使用2\sim3个鳍片(NMOS/PMOS各),而低功耗单元使用1\sim2个鳍片。一个CMOS反相器(inverter)在2-fin配置下的驱动能力约为1-fin配置的2×2\times,不存在中间选项。

其次,随着工艺节点持续缩小到5nm和3nm,鳍片的高宽比Hfin/WfinH_{\mathrm{fin}} / W_{\mathrm{fin}})已经达到了8108\sim 10的极端值。如此高的高宽比带来了严重的工艺挑战:鳍片容易发生弯曲和坍塌,对刻蚀精度的要求极高。更重要的是,鳍片间距(Fin Pitch)的缩小受到了物理限制——当间距小于约25 nm时,相邻鳍片之间的寄生电容显著增加,抵消了缩小间距带来的密度优势。

第三,FinFET的寄生电阻和电容问题在先进节点变得突出。鳍片顶部的外延生长区域(epitaxial source/drain)虽然可以增大接触面积、降低接触电阻,但相邻鳍片的外延区域合并(merging)会增加寄生电容。在5nm以下的节点,源漏接触电阻(RcR_{\mathrm{c}})可以占到总器件电阻的30%\sim50%,成为限制器件性能的重要因素。

表 3.1列出了主要FinFET工艺节点的关键参数。

参数22nm (Intel)14nm (Intel)7nm (TSMC)5nm (TSMC)3nm (TSMC)
Fin Pitch (nm)60423025–2723–26
HfinH_{\mathrm{fin}} (nm)34424648–5045–48
WfinW_{\mathrm{fin}} (nm)10875–65
高宽比 H/WH/W3.45.36.68–109–10
LgL_g (nm)2620161210–12
VddV_{\mathrm{dd}} (V)0.800.750.700.65–0.750.65–0.75
IoffI_{\mathrm{off}} (nA/μ\mum)\sim10\sim7\sim5\sim3\sim2–3
密度 (MTr/mm2^2)\sim16\sim37\sim91\sim173\sim292

主要FinFET工艺节点的关键参数

从表表 3.1可以看出,从22nm到3nm,晶体管密度提高了约18×18\times,但VddV_{\mathrm{dd}}的降低却十分有限(从0.80 V到0.65 V,仅下降了约19%)。这直接导致了功耗密度的持续上升,这一点将在3.3 节中详细分析。

设计提示

对于处理器架构师来说,FinFET时代的一个重要设计考量是鳍片数量的量化效应。在标准单元高度有限(例如7.5T或6T track height)的约束下,每个晶体管只能分配2\sim3个鳍片,这限制了单个逻辑门的驱动能力。因此,在关键路径上需要通过逻辑努力(logical effort)的方法仔细选择每一级的扇出比和门尺寸,以在离散的驱动能力约束下最小化总延迟。在一个典型的关键路径(如ALU的64位进位链)中,鳍片的量化效应可能导致实际延迟比理论最优值高出5%\sim10%。

GAA纳米片晶体管

GAA(Gate-All-Around)纳米片(Nanosheet)晶体管是FinFET的自然演进。与FinFET的三面栅极包围不同,GAA实现了栅极对沟道的四面完全包围,从而进一步增强了静电控制能力。Samsung在其3nm节点(2022年)率先量产了GAA晶体管,而TSMC和Intel则计划在2nm节点(预计2025年量产)引入GAA结构。

GAA纳米片晶体管的基本结构是:将FinFET的单个连续鳍片替换为多个水平堆叠的硅纳米片(Nanosheet),每个纳米片的四周都被栅极材料完全包围。典型的设计使用3\sim4层纳米片堆叠。制造过程首先在衬底上生长交替的Si/SiGe超晶格(superlattice),然后选择性地刻蚀掉SiGe层(SiGe作为牺牲层),将Si纳米片"释放"出来,最后在纳米片四周沉积高κ\kappa栅氧化物和栅极金属(work function metal + fill metal)。图图 3.3展示了GAA纳米片晶体管的截面示意图。

GAA纳米片晶体管截面示意图:3层纳米片堆叠,栅极从四面包围每个纳米片
GAA纳米片晶体管截面示意图:3层纳米片堆叠,栅极从四面包围每个纳米片

GAA的自然长度进一步缩小:

λNGAAεSi4εoxtoxtns \lambda_N^{\mathrm{GAA}} \approx \sqrt{\frac{\varepsilon_{\mathrm{Si}}}{4\varepsilon_{\mathrm{ox}}} \cdot t_{\mathrm{ox}} \cdot t_{\mathrm{ns}}}

其中tnst_{\mathrm{ns}}是纳米片厚度(约5–7 nm)。分母中的4(而非FinFET的2)反映了四面包围的几何优势。

GAA纳米片相比FinFET具有以下关键优势:

  1. 可调的有效沟道宽度:与FinFET只能通过增减鳍片数量来离散调节驱动电流不同,GAA可以通过改变纳米片的宽度(WnsW_{\mathrm{ns}})来连续调节有效沟道宽度。典型的纳米片宽度范围为15–50 nm,这为标准单元设计提供了更大的灵活性。一个3层堆叠的GAA晶体管,其有效沟道宽度为:
Weff=Nsheets×2×(Wns+tns)W_{\mathrm{eff}} = N_{\mathrm{sheets}} \times 2 \times (W_{\mathrm{ns}} + t_{\mathrm{ns}})

其中NsheetsN_{\mathrm{sheets}}为纳米片层数。例如Nsheets=3N_{\mathrm{sheets}}=3Wns=40nmW_{\mathrm{ns}}=\SI{40}{nm}tns=5nmt_{\mathrm{ns}}=\SI{5}{nm}时,Weff=3×2×45=270nmW_{\mathrm{eff}} = 3 \times 2 \times 45 = \SI{270}{nm}

  1. 更优的SS特性:四面栅极控制使得SS可以进一步降低到62 mV/dec–68 mV/dec,更接近理论极限60 mV/dec。更陡峭的SS意味着在相同的Ion/IoffI_{\mathrm{on}}/I_{\mathrm{off}}比值下可以使用更低的VddV_{\mathrm{dd}},或者在相同的VddV_{\mathrm{dd}}下获得更好的Ion/IoffI_{\mathrm{on}}/I_{\mathrm{off}}折中;

  2. 更好的面积效率:纳米片堆叠可以在较小的footprint内提供较高的驱动电流,超越FinFET在相同水平面积下的能力;

  3. 可独立优化NMOS和PMOS:通过调整不同晶体管的纳米片宽度,可以更精确地平衡上拉和下拉网络的强度。这在标准单元设计中非常有用——PMOS的空穴迁移率约为NMOS电子迁移率的40%\sim50%,因此PMOS通常需要更宽的沟道来匹配NMOS的驱动能力。在FinFET中只能通过增加鳍片数来实现(但面积开销大),而在GAA中可以通过增加PMOS的WnsW_{\mathrm{ns}}来精确匹配。

然而,GAA纳米片工艺也面临着重大的制造挑战:

  • 内间隔物(inner spacer)的形成需要精确控制Si/SiGe超晶格的选择性刻蚀,任何不均匀性都会导致器件之间的变异;

  • 多层纳米片释放(release)工艺中的选择性问题——SiGe需要被完全去除而Si纳米片需要保持完整——增加了良率风险;

  • 纳米片厚度的均匀性直接影响VthV_{\mathrm{th}}的一致性,tnst_{\mathrm{ns}}±0.5nm\pm \SI{0.5}{nm}变异可以导致VthV_{\mathrm{th}}约30 mV的偏差;

  • 工艺步骤数大幅增加,wafer成本显著上升。

设计权衡 1 — GAA vs FinFET:对微架构设计的影响

GAA纳米片的可变宽度特性使得标准单元库可以提供更细粒度的驱动能力选择。对于处理器关键路径(如ALU进位链、Cache tag比较器、分支预测器优先级编码),这意味着可以更精确地配置每一级逻辑门的尺寸以实现最优时序。在FinFET时代,由于驱动能力的量化限制,某些关键路径可能需要额外的缓冲级来匹配扇出,导致流水线延迟增加1\sim2个FO4延迟。GAA的灵活性有望消除这一限制。

另一方面,GAA工艺的制造变异更大(特别是纳米片厚度和宽度的变异),这使得时序签核(timing sign-off)需要留更大的裕度(margin)。典型的3σ\sigma变异会导致5 %–8 %的频率不确定性。在微架构层面,这可能需要通过更保守的时钟频率设定或更多的时钟域划分来应对。具体来说,如果一条关键路径在TT角(典型工艺、典型温度)下有180 ps的延迟(对应5.5 GHz),在SS角(慢NMOS、慢PMOS)下可能增加到215 ps(对应4.6 GHz),这900 MHz的频率差距直接影响了芯片的分bin策略和良率。

CFET(互补FET)

CFET(Complementary FET)是GAA之后的下一代晶体管结构,目前处于研发阶段,预计在2nm以下(\leq1.4 nm节点,约2028\sim2030年)进入量产。CFET的核心思想是将NMOS和PMOS垂直堆叠——NMOS晶体管直接放置在PMOS晶体管的上方(或反之),共享同一个footprint。

在传统的CMOS布局中,NMOS和PMOS晶体管水平并排放置,即使在GAA纳米片工艺下,一个反相器仍然需要占据N-well和P-well两个区域的水平面积。而CFET通过垂直集成,可以将标准单元的面积缩小至少30%\sim50%。一个CFET反相器只需要一个晶体管位置的水平面积——PMOS的纳米片在上层,NMOS的纳米片在下层(或反之),它们的栅极垂直对齐并由同一个栅极金属控制。

CFET有两种主要的制造路线:

  • 单片集成(Monolithic CFET):NMOS和PMOS在同一个硅晶圆上通过连续的工艺步骤自底向上制造。优点是对准精度高,缺点是上层器件的制造过程受下层已完成器件的热预算限制(上层退火温度不能过高,否则会改变下层的掺杂分布);

  • 顺序集成(Sequential CFET):下层器件完成后,将另一片预制好上层器件的晶圆倒置键合,然后减薄并继续加工。对准精度取决于晶圆键合技术。

CFET的关键技术挑战包括:

  • 热预算管理:上层晶体管的制造过程不能破坏下层已完成的晶体管结构,这严格限制了后续工艺步骤的温度上限(通常< \SI{500}{\celsius});

  • 层间互连:NMOS和PMOS之间需要可靠的垂直互连(buried interconnect),其电阻和寄生电容直接影响开关速度。层间通孔的电阻需要控制在几十欧姆以内才能不显著影响性能;

  • 热耦合:垂直堆叠使得两层晶体管之间的热传导路径更短,热耦合更强,这在高开关活动率的逻辑中可能导致局部过热;

  • 设计方法学:现有的EDA工具和标准单元设计方法需要根本性的改变来支持三维的晶体管布局。

对于处理器微架构而言,CFET的最大意义在于恢复面积缩放。在FinFET和GAA时代,由于BEOL(Back-End-of-Line)金属间距的缩放困难,逻辑密度的提升速度已经大幅放缓。CFET通过将NMOS和PMOS垂直折叠,使得标准单元面积的缩减不再完全依赖于金属间距的缩小。这意味着在CFET时代,处理器架构师可以在相同的die面积下放入更多的晶体管——例如更大的ROB(从512项扩展到1024项)、更大的L1 Cache(从64 KB扩展到128 KB)、或者更多的执行端口。

imec和其他研究机构的最新结果表明,CFET可以在相同的die面积上提供1.5×2×1.5\times\sim 2\times的逻辑密度提升(相比GAA),或者在相同密度下提供约15%\sim20%的性能提升(由于可以为NMOS和PMOS分别优化沟道材料和应力工程)。对于处理器设计来说,CFET时代(预计2029\sim2030年+)可能是摩尔定律面积缩放的最后一个重要阶段,它将使得单个处理器核心可以集成的晶体管数量再翻一番,为10-wide以上的极宽超标量设计和超过1000项的ROB提供物理基础。

表 3.2总结了四种晶体管结构的关键特性对比。

特性平面MOSFETFinFETGAA纳米片CFET
栅极包围方式单面三面四面四面
适用节点\geq 28nm22nm–3nm2nm–1.4nm\leq 1.4nm
SS (mV/dec)80–10065–7562–6860–65
DIBL (mV/V)80–15020–5010–30<< 20
VddV_{\mathrm{dd}} (V)0.9–1.10.65–0.800.55–0.700.50–0.65
驱动电流调节连续 (WW)离散(鳍片数)连续(WnsW_{\mathrm{ns}}连续
N/P布局水平并排水平并排水平并排垂直堆叠
面积缩放(vs FinFET)1.0×\times0.8–0.9×\times0.5–0.7×\times
工艺复杂度极高

四种晶体管结构的关键特性对比

导线延迟与信号传播

在早期的工艺节点(\geq 180 nm),晶体管延迟远大于导线延迟,微架构设计几乎不需要考虑导线的影响。然而,随着工艺缩小,晶体管速度持续提高,但导线的RC延迟却因为截面积缩小和电阻率上升而恶化。大约从130nm节点开始,导线延迟开始超过局部晶体管延迟;到7nm及以下的先进节点,导线延迟已经成为限制芯片性能的主要因素之一。

这一趋势对处理器微架构产生了深远的影响。例如:全芯片范围的信号(如全局时钟、bypass网络、跨cluster转发)无法在单个时钟周期内传播完成,迫使架构师在流水线划分和物理层次结构方面做出根本性的调整。在本节中,我们将定量地分析导线延迟的物理机制及其对微架构的影响。

后道互连的RC延迟

芯片的后道工艺(BEOL, Back-End-of-Line)负责构建多层金属互连,将前道(FEOL)制造的晶体管连接起来形成电路。现代先进工艺通常有12\sim17层金属互连,构成一个金字塔状的互连层次结构:低层金属(M1–M4)间距最小、线宽最窄,用于标准单元内部和短距离局部互连;中间层金属(M5–M8)用于中等距离的信号布线;高层金属(M9–M12+)间距最大、线宽最宽,用于电源/地网络和全芯片级的长距离信号。

一条导线可以用一个分布式RC网络来建模。对于长度为ll、宽度为ww、厚度为tt的导线,其总电阻和总电容分别为:

Rwire=ρefflwt=RlwCwire=(cground+ccoupling)l=ctotall\begin{aligned} R_{\mathrm{wire}} &= \rho_{\mathrm{eff}} \cdot \frac{l}{w \cdot t} = R_{\square} \cdot \frac{l}{w} \\ C_{\mathrm{wire}} &= (c_{\mathrm{ground}} + c_{\mathrm{coupling}}) \cdot l = c_{\mathrm{total}} \cdot l \end{aligned}

其中RR_{\square}是方块电阻(sheet resistance),cgroundc_{\mathrm{ground}}是对地电容(与上下层金属之间的平行板电容),ccouplingc_{\mathrm{coupling}}是与相邻导线之间的耦合电容。

对于均匀分布的RC线,其Elmore延迟为:

τwire=0.38RwireCwire=0.38Rctotall2w \tau_{\mathrm{wire}} = 0.38 \cdot R_{\mathrm{wire}} \cdot C_{\mathrm{wire}} = 0.38 \cdot R_{\square} \cdot c_{\mathrm{total}} \cdot \frac{l^2}{w}

关键的观察是:导线延迟与长度的平方成正比τl2\tau \propto l^2)。这意味着一条100 m的导线的延迟是10 m导线的100×100\times,而不是10×10\times。这个平方关系是导线延迟问题严峻性的根本原因。

在先进节点下,导线RC延迟恶化的主要原因有两个:

(1)金属电阻率的急剧上升。传统上,芯片互连使用铜(Cu)作为金属材料,其体电阻率为ρCu=1.68μΩcm\rho_{\mathrm{Cu}} = 1.68\,\textmu{}\Omega{}\cdot cm。然而,当导线宽度缩小到铜的电子平均自由程(Mean Free Path, MFP 40nm\approx \SI{40}{nm})以下时,电子在导线表面和晶界(grain boundary)的散射效应变得显著,有效电阻率按照Fuchs-Sondheimer模型大幅上升:

ρeffρ0(1+38λMFPw(1p)+32λMFPdRg1Rg) \rho_{\mathrm{eff}} \approx \rho_0 \left(1 + \frac{3}{8}\frac{\lambda_{\mathrm{MFP}}}{w}(1-p) + \frac{3}{2}\frac{\lambda_{\mathrm{MFP}}}{d} \cdot \frac{R_g}{1-R_g}\right)

其中ρ0\rho_0是体电阻率,λMFP\lambda_{\mathrm{MFP}}是电子平均自由程,ww是导线宽度,dd是晶粒尺寸,pp是表面镜面反射概率,RgR_g是晶界反射系数。

在5nm节点的底层金属中(w14nmw \approx \SI{14}{nm},远小于Cu的λMFP40nm\lambda_{\mathrm{MFP}} \approx \SI{40}{nm}),铜导线的有效电阻率可以达到体电阻率的35×3\sim 5\times,即ρeff58μΩcm\rho_{\mathrm{eff}} \approx 5--8\,\textmu{}\Omega{}\cdot cm。此外,铜互连需要TaN/Ta阻挡层(barrier layer)来防止铜扩散到介质中导致可靠性问题,而阻挡层厚度通常为2–3 nm,在14 nm线宽的导线中占据了约30%\sim40%的截面积,进一步增加了有效电阻。

为此,先进节点已经开始在底层金属中用新材料替代铜:

  • (Ru,体ρ=7.1μΩcm\rho = 7.1\,\textmu{}\Omega{}\cdot cm):λMFP6nm\lambda_{\mathrm{MFP}} \approx \SI{6}{nm},远小于Cu,因此在纳米级线宽下电阻率上升幅度远小于Cu。更重要的是,Ru不需要阻挡层(barrierless),在w<15nmw < \SI{15}{nm}时有效电阻可以低于Cu+barrier;

  • (Mo,体ρ=5.3μΩcm\rho = 5.3\,\textmu{}\Omega{}\cdot cm):λMFP14nm\lambda_{\mathrm{MFP}} \approx \SI{14}{nm},同样适合极窄线宽。TSMC在其N3E和N2中采用Mo作为底层金属材料之一。

(2)金属间电容的变化。随着金属间距缩小,相邻导线之间的耦合电容增大。耦合电容近似为平行板电容:

ccouplingε0εrtsc_{\mathrm{coupling}} \approx \varepsilon_0 \varepsilon_r \cdot \frac{t}{s}

其中tt是金属厚度,ss是相邻导线间距。当ss缩小而tt保持不变时(为了控制电阻,tt不能同比例缩小),ccouplingc_{\mathrm{coupling}}显著增大。在低层金属中,线间耦合电容可以占到总电容的70%以上。Low-κ\kappa介质(κ<3.0\kappa < 3.0,如SiCOH、多孔low-κ\kappa材料)的引入可以降低电容,但low-κ\kappa材料的机械强度较弱,在CMP(Chemical Mechanical Polishing)等工艺步骤中容易损坏。

将上述因素综合起来,可以得到如下的工程估算。在TSMC 5nm工艺的M2金属层(间距约28 nm,宽度约14 nm,厚度约30 nm)中:

Rsheet1000  Ω/sq(含阻挡层影响)ctotal0.20  fF/μm(线间+对地)τwire0.38×10001×0.20×l2=76l2  ps(l in μm)\begin{aligned} R_{\mathrm{sheet}} &\approx 1000 \;\Omega/\text{sq} \quad \text{(含阻挡层影响)} \\ c_{\mathrm{total}} &\approx 0.20 \;\text{fF}/\mu\text{m} \quad \text{(线间+对地)} \\ \tau_{\mathrm{wire}} &\approx 0.38 \times \frac{1000}{1} \times 0.20 \times l^2 = 76 \cdot l^2 \;\text{ps} \quad (l \text{ in } \mu\text{m}) \end{aligned}

这个结果意味着:

  • 10 m的M2导线:τ7.6ps\tau \approx \SI{7.6}{ps},约0.4个FO4延迟;

  • 50 m的M2导线:τ190ps\tau \approx \SI{190}{ps},约10个FO4延迟,接近5 GHz下的一个时钟周期;

  • 100 m的M2导线:τ760ps\tau \approx \SI{760}{ps},约40个FO4延迟,接近5 GHz下的4个时钟周期。

而对于高层金属(如M10+),由于线宽和间距都大得多(线宽0.4–1 m,远大于Cu的λMFP\lambda_{\mathrm{MFP}}),有效电阻率接近体电阻率,RsheetR_{\mathrm{sheet}}可以低至5–20 mΩ\Omega/sq。因此,全芯片级的长距离信号通常走高层金属——即便物理距离更长,其总延迟也可以控制在合理范围内。

性能分析 1 — 五步算例:5nm M4金属层500 m导线的RC延迟

本算例以TSMC 5nm工艺的M4金属层(中间层金属,常用于核心内部的旁路网络和数据通路布线)为例,计算一条500 m导线的RC延迟,并评估其对微架构的影响。

给定参数:导线长度l=500μml = 500\,\textmu\text{m},每单位长度电阻rw=200Ω/mmr_w = 200\,\Omega/\text{mm},每单位长度电容cw=0.2pF/mmc_w = 0.2\,\text{pF}/\text{mm}

Step 1: 计算总电阻和总电容。

Rwire=rw×l=200×0.5=100ΩCwire=cw×l=0.2×0.5=0.1pF=100fF\begin{aligned} R_{\text{wire}} &= r_w \times l = 200 \times 0.5 = 100\,\Omega \\ C_{\text{wire}} &= c_w \times l = 0.2 \times 0.5 = 0.1\,\text{pF} = 100\,\text{fF} \end{aligned}

Step 2: 计算Elmore延迟。使用分布式RC线的Elmore公式:

τ=0.38×Rwire×Cwire=0.38×100×100×1015=3.8ps\tau = 0.38 \times R_{\text{wire}} \times C_{\text{wire}} = 0.38 \times 100 \times 100 \times 10^{-15} = 3.8\,\text{ps}

Step 3: 加入驱动器和负载延迟。实际电路中,导线两端还有驱动缓冲器的输出电阻Rdrv200ΩR_{\text{drv}} \approx 200\,\Omega和接收端负载电容Cload5fFC_{\text{load}} \approx 5\,\text{fF}

τtotal=0.69×Rdrv×Cwire+τwire+0.69×Rwire×Cload=0.69×200×100f+3.8ps+0.69×100×5f13.8+3.8+0.35=17.9ps\tau_{\text{total}} = 0.69 \times R_{\text{drv}} \times C_{\text{wire}} + \tau_{\text{wire}} + 0.69 \times R_{\text{wire}} \times C_{\text{load}} = 0.69 \times 200 \times 100\text{f} + 3.8\text{ps} + 0.69 \times 100 \times 5\text{f} \approx 13.8 + 3.8 + 0.35 = 17.9\,\text{ps}

Step 4: 换算为时钟周期。在5 GHz处理器上,一个时钟周期为200 ps:

τtotalTclk=17.92009%\frac{\tau_{\text{total}}}{T_{\text{clk}}} = \frac{17.9}{200} \approx 9\%

500 m导线的延迟约占一个时钟周期的9%——看起来不多,但旁路网络的关键路径上通常还有MUX选择、寄存器写入等逻辑,导线延迟的占比会在总路径延迟中占据显著份额。

Step 5: 微架构影响。500 m大致是一个高性能核心物理尺寸的1/41/31/4\sim1/3(核心尺寸通常为1.5–3 mm)。这意味着在单个核心内部,跨越核心一半面积的旁路信号传播需要约35–40 ps。如果旁路网络的关键路径时序预算只有100 ps(半个时钟周期用于旁路),导线延迟就占了35%\sim40%——这正是第 2.0 章讨论的为什么现代处理器采用Clustered微架构(将执行单元分组,每组内部的旁路距离更短)的物理根源。

全芯片信号传播时间

对于全芯片范围的信号传播,需要考虑两个基本限制:

(1)光速限制。信号在芯片上的传播速度受到电磁波在介质中传播速度的限制。在SiO2_2基介质(κ4\kappa \approx 4)中,信号传播速度约为:

v=cκ3×1084=1.5×108  m/s=150μm/ps v = \frac{c}{\sqrt{\kappa}} \approx \frac{3 \times 10^8}{\sqrt{4}} = 1.5 \times 10^8 \;\text{m/s} = 150\,\textmu{}m/ps

对于一个芯片边长为15 mm的大型处理器die(如Intel的服务器处理器),信号沿对角线传播的最短时间为:

tmin=2×15×103150141pst_{\min} = \frac{\sqrt{2} \times 15 \times 10^3}{150} \approx \SI{141}{ps}

这已经占据了5 GHz时钟下一个周期(200 ps)的70%。也就是说,即使不考虑导线RC延迟,仅靠光速限制就已经使得全芯片信号无法在单周期内完成传播。这是处理器物理设计中一个根本性的约束。

(2)Repeater插入。在实际电路中,由于导线的τl2\tau \propto l^2特性,长导线的RC延迟增长极快。为了将延迟降低到与ll成线性关系,需要在导线中间插入中继器(repeater,通常是反相器对或缓冲器)。Repeater将长线分割为多个短段,每段的延迟与段长的平方成正比,但段数与总长成正比,因此总延迟变为与ll成正比。

最优的repeater间距和尺寸可以由Bakoglu公式给出:

lopt=0.38RtrCtrrwcwkopt=rwCtrRtrcw\begin{aligned} l_{\mathrm{opt}} &= \sqrt{\frac{0.38 \cdot R_{\mathrm{tr}} \cdot C_{\mathrm{tr}}}{r_w \cdot c_w}} \\ k_{\mathrm{opt}} &= \sqrt{\frac{r_w \cdot C_{\mathrm{tr}}}{R_{\mathrm{tr}} \cdot c_w}} \end{aligned}

其中RtrR_{\mathrm{tr}}CtrC_{\mathrm{tr}}分别是最小尺寸晶体管的输出电阻和输入电容,rwr_wcwc_w分别是导线的单位长度电阻和电容,koptk_{\mathrm{opt}}是repeater相对于最小尺寸的放大倍数。在5nm工艺中,对于低层金属(M2/M3),lopt3060μml_{\mathrm{opt}} \approx 30--60\,\textmu{}m;对于高层金属,loptl_{\mathrm{opt}}可以达到200–500 m。

Repeater虽然降低了延迟,但带来了两个重要代价:

  1. 固有延迟开销:每个repeater本身有约1\sim2个FO4的固有延迟。插入NN个repeater后,总延迟为:
τtotal=Nτrepeater+N0.38rwcwlsegment2\tau_{\mathrm{total}} = N \cdot \tau_{\mathrm{repeater}} + N \cdot 0.38 \cdot r_w \cdot c_w \cdot l_{\mathrm{segment}}^2

因此总延迟虽然变为与ll成线性,但线性系数中包含了repeater的延迟,并不小;

  1. 面积和功耗开销:每个repeater需要占用标准单元位置,消耗动态和静态功耗。在一个大型处理器中,repeater的面积和功耗开销可以占到总量的10%\sim15%。

综合RC延迟和repeater开销,在5nm工艺下,全芯片级(5 mm–15 mm)信号的传播延迟通常为0.5 ns–2 ns,相当于2.5\sim10个时钟周期(5 GHz下)。即使是单个核心内部(尺寸约1 mm–3 mm),跨越整个核心的信号传播也需要0.2 ns–0.5 ns,可能跨越1\sim3个时钟周期。

以一个量化的例子来说明repeater的影响:假设需要在5nm工艺中用M4金属传输一个信号500 m(约半个核心的宽度),M4的rw200Ω/μmr_w \approx 200\,\Omega/\textmu{}mcw0.15fF/μmc_w \approx 0.15\,fF/\textmu{}m。不插入repeater时:

τno  rep=0.38×200×0.15×5002=2.85ns14个周期 (@5GHz)\tau_{\mathrm{no\;rep}} = 0.38 \times 200 \times 0.15 \times 500^2 = \SI{2.85}{ns} \approx 14\text{个周期 (@\SI{5}{GHz})}

如果按lopt50μml_{\mathrm{opt}} \approx 50\,\textmu{}m插入repeater,将500 m分为10段,每段延迟加上repeater自身延迟:

τwith  rep10×(0.38×200×0.15×502+τrep)10×(28.5+20)485ps2.4个周期\tau_{\mathrm{with\;rep}} \approx 10 \times (0.38 \times 200 \times 0.15 \times 50^2 + \tau_{\mathrm{rep}}) \approx 10 \times (28.5 + 20) \approx \SI{485}{ps} \approx 2.4\text{个周期}

延迟从14个周期降到了2.4个周期,但仍然超过了2个周期——这意味着在物理设计上需要对该信号路径做时序例外处理(multicycle path)或在微架构上增加流水级。

导线延迟对流水线划分的影响

导线延迟的恶化对处理器微架构产生了多方面的深远影响,体现在以下几个关键方面:

(1)Bypass网络的时序约束。在乱序超标量处理器中,bypass(也称forwarding)网络允许一条指令的执行结果在写回寄存器文件之前就被后续指令使用。bypass网络的延迟直接影响"执行→使用"的关键路径——如果bypass延迟超过一个时钟周期,那么数据相关的连续指令之间就需要插入气泡(bubble),严重影响IPC。

在一个6-wide处理器中,bypass网络本质上是一个Pwrite×PreadP_{\mathrm{write}} \times P_{\mathrm{read}}的交叉开关(crossbar),其中PwriteP_{\mathrm{write}}PreadP_{\mathrm{read}}分别是写端口和读端口的数量(典型值Pwrite=68P_{\mathrm{write}}=6\sim 8Pread=1216P_{\mathrm{read}}=12\sim 16)。这个交叉开关的物理尺寸可以达到100–200 m。在先进工艺下,这段距离的导线延迟可能占据半个甚至一个时钟周期,迫使设计者:

  • 将bypass操作分拆到两个流水级来完成(增加流水线深度);

  • 采用clustered微架构来减小物理距离(增加复杂度);

  • 或者接受bypass延迟的1-cycle penalty(降低IPC)。

(2)Clustered微架构。当bypass网络或发射队列等结构的物理尺寸过大以至于无法在单周期内完成信号传播时,一种经典的解决方案是将执行后端划分为多个物理上相邻的(cluster),每个簇内部的bypass延迟为单周期,而簇间通信需要额外的1\sim2个周期延迟。

历史上的经典案例是Alpha 21264处理器(1998年,0.35μ\mum工艺),它采用了2-cluster整数执行设计:每个cluster有一个整数ALU和一个整数乘法器,cluster内部bypass为零周期延迟,cluster间bypass需要额外1个周期。现代处理器如AMD Zen系列在其浮点执行单元中也采用了类似的cluster划分——整数和浮点执行单元物理上分离,跨域bypass有额外延迟。Apple的大核心虽然在逻辑上没有显式的cluster边界,但物理设计上也采用了层次化的布局来控制bypass网络的导线长度。

(3)Cache访问延迟。L1 Cache的面积通常在0.3 mm2–0.8 mm2(32 KB\sim64 KB,5nm),物理上是一个矩形的SRAM阵列加上外围的解码器和灵敏放大器。从Cache阵列的物理边缘到sense amplifier的导线延迟可以达到100–200 ps。加上SRAM单元本身的存取时间和解码器延迟,L1 Cache的总访问延迟在5nm/5 GHz下通常为3\sim5个时钟周期。更大的L2 Cache(1 MB–2 MB,面积2 mm2–5 mm2)的导线延迟更长,访问延迟通常为8\sim15个时钟周期。

这对微架构的影响是深远的:

  • L1 D-Cache 3\sim4周期延迟意味着load-use延迟至少为3\sim4个周期——这个延迟直接出现在指针追踪(pointer chasing)等串行访存模式的关键路径上,是限制很多程序IPC的首要因素;

  • L1 I-Cache的多周期延迟决定了分支预测失败后的重填延迟——如果BTB/BHT和I-Cache不在同一个流水级完成,取指流水线就需要更多的级数;

  • Cache面积越大,导线延迟越长,存在"容量vs延迟"的根本折中。

(4)全局信号的流水化。对于需要全芯片范围传播的信号(如时钟分配、中断信号、一致性协议的snoop请求),必须在物理设计阶段考虑多周期传播延迟。现代处理器的时钟分配网络通常采用H-tree或mesh拓扑,通过多级缓冲器将时钟信号分配到全芯片。时钟偏斜(clock skew)——即时钟信号到达芯片不同位置的时间差异——是物理设计中最严格的约束之一,通常需要控制在时钟周期的5%以内。在5 GHz下,这意味着skew需要控制在10 ps以内,这是极具挑战性的。

(5)DVFS与电压域划分。导线延迟的信号域约束也影响了DVFS的实现。当处理器核心运行在不同的电压和频率下时,跨电压域的信号需要经过电平转换器(level shifter)和同步器(synchronizer),每个同步器引入1\sim2个目标时钟域的周期延迟。在多核处理器中,核心间通信需要跨频率域同步,这个延迟开销需要在微架构层面被考虑——例如L2 Cache如果与核心运行在不同的时钟域下,每次L2访问都会额外增加同步延迟。

性能分析 2 — 导线延迟与工艺缩放的趋势

在从7nm到3nm的演进中,晶体管FO4延迟改善了约25%\sim30%(从\sim22 ps到\sim15 ps),但底层金属导线的RC延迟几乎没有改善甚至略有恶化。这意味着在先进节点下,导线约束而非晶体管约束决定了许多关键路径的时序。

一个直观的衡量标准是:在5nm工艺、5 GHz频率下,单个时钟周期内信号可以通过底层金属(M2/M3)传播的"有效距离"约为50\sim100 m(考虑repeater后)。任何物理尺寸超过这个距离的结构,其内部信号都无法在单周期内完成传播,必须通过流水化或层次化设计来应对。

对于处理器架构师来说,这要求在微架构探索阶段就对关键结构的物理尺寸有大致估算。一个经验法则是:每个SRAM bitcell行的高度约为0.2–0.3 m(5nm),因此一个256行的SRAM阵列高度约为50–80 m——这已经接近单周期传播距离的上限。如果Cache有512行或1024行,其物理高度将超过单周期限制,必须分bank或分段访问。

功耗的物理基础

功耗是处理器设计中最重要的约束之一。在当今的先进工艺节点下,单个高性能处理器核心的功耗可以达到20 W–50 W,而整个SoC(包含多个核心、GPU、NPU等)的功耗可以超过200 W。功耗不仅决定了芯片的散热需求和封装成本,还通过热密度限制直接约束了芯片上可以同时工作的晶体管比例(暗硅问题)。对于电池供电的移动设备,功耗更是决定使用体验(续航时间和发热)的关键因素。

动态功耗

动态功耗是由逻辑门的开关活动引起的。当一个CMOS逻辑门的输出从0翻转到1(或从1到0)时,需要对输出节点的负载电容进行充电(或放电)。考虑一次从0到VddV_{\mathrm{dd}}的完整充电过程:电源提供的总能量为CLVdd2C_L V_{\mathrm{dd}}^2,但其中只有12CLVdd2\frac{1}{2}C_L V_{\mathrm{dd}}^2存储在电容中,另外12CLVdd2\frac{1}{2}C_L V_{\mathrm{dd}}^2在PMOS管的沟道电阻上以热量形式散失。类似地,放电过程中存储在电容中的12CLVdd2\frac{1}{2}C_L V_{\mathrm{dd}}^2能量在NMOS管的沟道电阻上散失。因此一次完整的0→1→0翻转从电源总共吸取了CLVdd2C_L V_{\mathrm{dd}}^2的能量。

考虑到不是所有逻辑门在每个时钟周期都发生翻转,引入活动因子α\alpha(定义为每个时钟周期内节点发生翻转的概率),整个芯片的动态功耗为:

Pdynamic=αCtotalVdd2f P_{\mathrm{dynamic}} = \alpha \cdot C_{\mathrm{total}} \cdot V_{\mathrm{dd}}^2 \cdot f

其中CtotalC_{\mathrm{total}}是芯片上所有节点的总等效负载电容,ff是时钟频率。在一个典型的处理器核心中,α\alpha的平均值约为0.1\sim0.3(取决于工作负载特性——整数运算密集的程序通常α\alpha较高,而浮点运算由于数据通路更规则α\alpha可能较低)。

动态功耗还可以细分为两部分:

  • 开关功耗(switching power):负载电容充放电消耗的功耗,是主要成分;

  • 短路功耗(short-circuit power):在CMOS逻辑门翻转的瞬间,当输入电压处于Vth,n<Vin<VddVth,pV_{\mathrm{th,n}} < V_{\mathrm{in}} < V_{\mathrm{dd}} - |V_{\mathrm{th,p}}|的范围内时,NMOS和PMOS管同时导通,产生从VddV_{\mathrm{dd}}VssV_{\mathrm{ss}}的短路电流IscI_{\mathrm{sc}}。短路功耗为Psc=VddIscfP_{\mathrm{sc}} = V_{\mathrm{dd}} \cdot \overline{I}_{\mathrm{sc}} \cdot f。在设计良好的电路中(输入信号的上升/下降时间与输出信号匹配),短路功耗通常占动态功耗的5%\sim15%。

式 (1.3)可以看出降低动态功耗的几个途径:

  1. 降低VddV_{\mathrm{dd}}:功耗与Vdd2V_{\mathrm{dd}}^2成正比,因此降低电压是最有效的方法。将VddV_{\mathrm{dd}}从0.75 V降低到0.65 V(降低13%),功耗降低约25%。然而,降低VddV_{\mathrm{dd}}会增加逻辑门延迟。在简化的alpha-power law模型下:
tdCLVddIonVdd(VddVth)αv t_d \propto \frac{C_L \cdot V_{\mathrm{dd}}}{I_{\mathrm{on}}} \propto \frac{V_{\mathrm{dd}}}{(V_{\mathrm{dd}} - V_{\mathrm{th}})^{\alpha_v}}

其中αv1.31.5\alpha_v \approx 1.3\sim 1.5。当VddV_{\mathrm{dd}}接近VthV_{\mathrm{th}}时,延迟急剧增加。DVFS技术通过根据负载动态调节VddV_{\mathrm{dd}}ff来在性能和功耗之间取得平衡。最优的DVFS策略遵循所谓的"能量最优频率"——对于给定的工作量,存在一个使得总能耗(PtexecP \cdot t_{\mathrm{exec}})最小的最优(V,f)(V,f)点;

  1. 降低α\alpha:通过时钟门控(clock gating)技术关闭不活跃模块的时钟,使其α0\alpha \approx 0。在RTL层面的时钟门控覆盖率通常可以达到80%\sim95%,即在任何时刻只有5%\sim20%的寄存器在翻转。此外,操作数隔离(operand isolation)通过在功能单元的输入端插入AND门,防止无效数据在空闲的功能单元中传播产生不必要的翻转;

  2. 降低CtotalC_{\mathrm{total}}:通过工艺缩放减小晶体管尺寸(CgateWLC_{\mathrm{gate}} \propto W \cdot L),或通过逻辑优化减少不必要的电路。工艺缩放每代降低单个晶体管的CC约20%\sim30%;

  3. 降低ff:直接降低频率,但这是以性能为代价的。

动态功耗、漏电功耗和逻辑门延迟随$V_{\mathrm{dd}}$的变化关系(归一化到$V_{\mathrm{dd}}=\SI{0.7}{V}$的值)
动态功耗、漏电功耗和逻辑门延迟随$V_{\mathrm{dd}}$的变化关系(归一化到$V_{\mathrm{dd}}=\SI{0.7}{V}$的值)

漏电功耗与工艺节点的关系

漏电功耗是指晶体管在"关断"状态下仍然流过的电流所消耗的功率。在CMOS电路中,漏电流主要来自以下三个机制:

(1)亚阈值漏电(Subthreshold Leakage)。当Vgs<VthV_{\mathrm{gs}} < V_{\mathrm{th}}时,沟道中仍然存在由载流子扩散引起的电流,其大小为:

Isub=I0WeVgsVthnVT(1eVdsVT) I_{\mathrm{sub}} = I_0 \cdot W \cdot e^{\frac{V_{\mathrm{gs}} - V_{\mathrm{th}}}{n \cdot V_T}} \cdot \left(1 - e^{-\frac{V_{\mathrm{ds}}}{V_T}}\right)

其中VT=kT/q26mVV_T = kT/q \approx \SI{26}{mV}(室温下)是热电压,nn是亚阈值斜率因子(理想值为1,实际FinFET中约1.05\sim1.2),I0I_0是与工艺相关的参数。关键的观察是:亚阈值漏电与VthV_{\mathrm{th}}指数关系——VthV_{\mathrm{th}}每降低nVTln(10)60mV×nn \cdot V_T \cdot \ln(10) \approx \SI{60}{mV} \times n,漏电增大10×10\times。在n=1.1n = 1.1时,这个值约为66 mV。

这产生了一个根本性的矛盾:为了提高性能(增大IonI_{\mathrm{on}}、降低逻辑门延迟),需要降低VthV_{\mathrm{th}}以增大VgsVthV_{\mathrm{gs}}-V_{\mathrm{th}}的过驱动电压;但降低VthV_{\mathrm{th}}会指数级增加漏电。在先进节点下,VthV_{\mathrm{th}}通常在0.15–0.25 V的范围内,已经远低于早期工艺的0.4–0.6 V。

Multi-VtV_t Design工艺厂商通常提供多种VthV_{\mathrm{th}}选项来让设计者在性能和漏电之间做权衡:

  • SVT(Standard VthV_{\mathrm{th}}):标准选项,性能和漏电适中;

  • HVT(High VthV_{\mathrm{th}}):更高的VthV_{\mathrm{th}}(比SVT高约50 mV–80 mV),漏电低约5×10×5\times\sim10\times但速度慢约15%\sim25%,用于非关键路径;

  • LVT(Low VthV_{\mathrm{th}}):更低的VthV_{\mathrm{th}}(比SVT低约50 mV–80 mV),速度快约10%\sim15%但漏电高约5×10×5\times\sim10\times,用于关键路径;

  • ULVT(Ultra-Low VthV_{\mathrm{th}}):某些工艺中提供的最高速度选项,漏电最大,仅用于最关键的几条路径。

在一个典型的高性能处理器设计中,只有约10%\sim20%的晶体管使用LVT/ULVT(位于关键路径上),60%\sim70%使用SVT,剩余使用HVT。这种多VthV_{\mathrm{th}}混合设计是现代处理器控制漏电的核心手段之一。物理设计工具在时序优化过程中会自动选择每个单元的VtV_t变体——先用HVT单元填满设计以最小化漏电,然后逐步将关键路径上的单元替换为SVT或LVT以满足时序要求。

(2)栅极漏电(Gate Leakage)。电子通过极薄的栅氧化层发生量子隧穿,形成栅极漏电流。栅极漏电与氧化层厚度toxt_{\mathrm{ox}}成指数关系:

Igate(Voxtox)2e4πtoxh2mqϕBI_{\mathrm{gate}} \propto \left(\frac{V_{\mathrm{ox}}}{t_{\mathrm{ox}}}\right)^2 \cdot e^{-\frac{4\pi t_{\mathrm{ox}}}{h}\sqrt{2m^*q\phi_B}}

其中ϕB\phi_B是势垒高度,mm^*是有效质量。当SiO2_2栅氧化层厚度降至1.2 nm以下后,栅极漏电密度可达1 A/cm2–100 A/cm2。引入HfO2_2等高κ\kappa材料(自45nm节点起普遍采用)后,物理厚度可以增大到2–3 nm(EOT仍为0.5–1 nm),栅极漏电降低了约100×1000×100\times\sim 1000\times,不再是主要的漏电来源。

(3)结漏电(Junction Leakage)。源漏与衬底之间的PN结在反偏条件下产生的漏电流,主要包括少数载流子扩散电流和带间隧穿(BTBT)电流。在先进FinFET和GAA工艺中,由于结面积小且掺杂浓度优化良好,结漏电通常不是主要问题(占总漏电的<<5%)。

漏电功耗的总量为:

Pleakage=VddiIleak,i=VddNtrIleak P_{\mathrm{leakage}} = V_{\mathrm{dd}} \cdot \sum_{i} I_{\mathrm{leak},i} = V_{\mathrm{dd}} \cdot N_{\mathrm{tr}} \cdot \overline{I}_{\mathrm{leak}}

其中NtrN_{\mathrm{tr}}是晶体管总数,Ileak\overline{I}_{\mathrm{leak}}是平均每个晶体管的漏电流。在5nm工艺下,一个包含50亿晶体管的处理器核心,假设Ileak2nA\overline{I}_{\mathrm{leak}} \approx \SI{2}{nA}(混合VtV_t设计、SVT为主),漏电功耗约为:

Pleakage0.70×5×109×2×109=7.0WP_{\mathrm{leakage}} \approx 0.70 \times 5 \times 10^9 \times 2 \times 10^{-9} = \SI{7.0}{W}

这已经是一个不可忽视的数值,占总功耗(假设25 W–35 W)的20%\sim30%。而且漏电功耗对温度高度敏感——亚阈值漏电中VT=kT/qV_T = kT/q随温度线性增加,而I0I_0本身也与温度相关,综合效果是温度每升高10 °C,漏电大约增加1.5×2×1.5\times\sim 2\times。这意味着漏电会形成正反馈环路:漏电→发热→温度升高→漏电更大→更多发热。如果散热能力不足以打破这个正反馈,就会发生热失控(thermal runaway)。

为了应对漏电功耗,处理器设计采用了以下技术:

  • 电源门控(Power Gating):通过头部/脚部开关晶体管(header/footer switches)切断空闲模块的电源供应,将漏电降至接近零。代价是唤醒延迟(通常1–10 s)和唤醒过程中的浪涌电流(inrush current)。现代处理器可以独立地对几十个电源域进行门控;

  • VtV_t混合设计:如前所述;

  • 自适应体偏压(Adaptive Body Biasing, ABB):通过动态调节晶体管的衬底偏压来调节VthV_{\mathrm{th}}。正向偏压降低VthV_{\mathrm{th}}(提升性能但增加漏电),反向偏压提高VthV_{\mathrm{th}}(降低漏电但牺牲性能)。在FinFET中由于衬底接触被埋在STI下方,ABB的效果减弱,但在某些工艺中仍然可用。

Dennard缩放的终结

Dennard缩放定律(Dennard Scaling)是Robert Dennard在1974年提出的理论[^1]:当晶体管尺寸缩小κ\kappa倍时(κ>1\kappa > 1),如果电压和电流也同比例缩小κ\kappa倍,则功耗密度保持不变。具体地:

参数缩放因子效果
晶体管尺寸 LL, WW1/κ1/\kappa面积缩小κ2\kappa^2
供电电压 VddV_{\mathrm{dd}}1/κ1/\kappa电场强度不变
电流 II1/κ1/\kappa电流密度不变
电容 CC1/κ1/\kappa随面积缩小
频率 f=I/(CV)f = I / (C \cdot V)κ\kappa频率可以提高κ\kappa
延迟 τCV/I\tau \propto CV/I1/κ1/\kappa速度提升κ\kappa
单晶体管功耗 P=CV2fP = CV^2 f1/κ21/\kappa^2功耗降低κ2\kappa^2
功耗密度 P/AP/A11保持不变

理想Dennard缩放规则

在Dennard缩放有效的年代(大约1970\sim2005年),每一代工艺缩小都可以"免费"获得更快的速度和更多的晶体管,而不增加功耗密度。这是处理器频率从1 MHz(Intel 4004, 1971年)飞速提升到3.8 GHz(Pentium 4 Prescott, 2004年)的物理基础——34年间频率增长了近4000×4000\times

然而,Dennard缩放在约130nm/90nm节点(2002\sim2004年)开始明显失效,到65nm/45nm节点(2006\sim2008年)已经基本终结。失效的根本原因是:

(1)阈值电压VthV_{\mathrm{th}}无法继续缩放。Dennard缩放要求VddV_{\mathrm{dd}}VthV_{\mathrm{th}}同比例缩小κ\kappa倍。但如前所述,VthV_{\mathrm{th}}每降低60 mV\sim70 mV,亚阈值漏电增大10×10\times。当VthV_{\mathrm{th}}降到0.2–0.3 V以下时,漏电功耗已经与动态功耗相当,进一步降低VthV_{\mathrm{th}}变得不可接受。实际数据:在130nm节点(2001年),高性能晶体管的Vth0.25VV_{\mathrm{th}} \approx \SI{0.25}{V}Ioff50nA/μmI_{\mathrm{off}} \approx 50\,nA/\textmu{}m,漏电功耗已经占到总功耗的约25%。

(2)VddV_{\mathrm{dd}}的缩放大幅放缓。由于VthV_{\mathrm{th}}无法继续降低,而VddV_{\mathrm{dd}}需要保持足够的VddVthV_{\mathrm{dd}} - V_{\mathrm{th}}裕度(overdrive voltage)以维持合理的开关速度和噪声容限(SNM),VddV_{\mathrm{dd}}的缩放在0.65–0.80 V附近趋于停滞。实际数据:

  • 180nm (1999): Vdd=1.8VV_{\mathrm{dd}} = \SI{1.8}{V}

  • 130nm (2001): Vdd=1.2VV_{\mathrm{dd}} = \SI{1.2}{V} (降低了33%)

  • 90nm (2004): Vdd=1.0VV_{\mathrm{dd}} = \SI{1.0}{V} (降低了17%)

  • 65nm (2006): Vdd=0.9VV_{\mathrm{dd}} = \SI{0.9}{V} (降低了10%)

  • 45nm (2008): Vdd=0.9VV_{\mathrm{dd}} = \SI{0.9}{V} (几乎不变!)

  • 22nm (2012): Vdd=0.8VV_{\mathrm{dd}} = \SI{0.8}{V} (FinFET引入后略有改善)

  • 7nm (2018): Vdd=0.7VV_{\mathrm{dd}} = \SI{0.7}{V}

  • 5nm (2020): Vdd=0.65VV_{\mathrm{dd}} = \SI{0.65}{V}

从180nm到5nm(\sim5代缩放,κ\kappa总计约25×25\times),VddV_{\mathrm{dd}}仅从1.8 V降到0.65 V(降低了2.8×2.8\times),远不及Dennard缩放所要求的25×25\times

(3)功耗密度开始上升。由于VddV_{\mathrm{dd}}缩放不足,虽然晶体管面积在缩小(密度在增加),但每个晶体管的功耗并没有按1/κ21/\kappa^2的理想比例下降。结果就是功耗密度随着工艺缩小而上升。在5nm工艺下,高性能处理器在高活动率区域(如ALU、scheduler)的功耗密度已经达到了0.8 W/mm2–1.5 W/mm2,接近甚至超过传统风冷散热的极限(约1 W/mm2均匀,局部热点可能更高)。

Dennard缩放终结的直接后果是:频率停滞。从2005年至今(2026年),主流处理器的最高频率一直徘徊在3 GHz–6 GHz的范围内,未能再出现像1990\sim2005年那样的指数级增长。图图 3.5直观地展示了这一趋势。

处理器最高时钟频率的历史演进:Dennard缩放终结后频率增长基本停滞
处理器最高时钟频率的历史演进:Dennard缩放终结后频率增长基本停滞

这迫使处理器设计从"提频"转向了"提IPC"和"增核"两条路线——前者通过更深更宽的乱序执行引擎来挖掘单线程性能,后者通过在芯片上集成更多核心来提高多线程吞吐量。在"后Dennard"时代,处理器的单线程性能年增长率从Dennard时代的约50%/年下降到了约5%\sim10%/年。

案例研究 1 — Pentium 4到Core的战略转向

Intel的Pentium 4(NetBurst微架构,2000年)代表了Dennard缩放末期"追求极致频率"的设计哲学。它采用了31级的超深流水线,目标频率高达10 GHz。在初始的180nm工艺上实现了1.5 GHz,在130nm上达到3.06 GHz,在90nm上达到3.8 GHz——但此时TDP已经超过了100 W,而IPC由于流水线过深(分支预测失败惩罚高达20\sim30个周期)和trace cache效率低下而很低。

到了65nm节点,Intel意识到"频率路线"已经走到物理极限的尽头——如果继续追求频率,功耗和散热将无法承受。于是Intel做出了一个具有历史意义的战略转向:放弃了Pentium 4的NetBurst微架构,转而推出基于更浅流水线、更高IPC的Core微架构(14级流水线,频率\sim3 GHz,TDP\sim65 W,但SPECint得分与3.8 GHz的Pentium 4相当甚至更高)。

这一战略转向标志着处理器工业正式进入"后Dennard"时代。此后所有主要的处理器厂商都遵循了"适度频率+高IPC"的设计路线。在图图 3.4中可以看到,在VddV_{\mathrm{dd}}已经很低的情况下,进一步提高频率需要提升VddV_{\mathrm{dd}},而PV2fP \propto V^2 f使得功耗增长是超线性的(大约f3f^3的关系,因为VfV \propto f),代价远超收益。

暗硅问题

暗硅(Dark Silicon)是Dennard缩放终结的直接推论。当功耗密度不再随工艺缩小而保持不变,反而上升时,芯片上可以同时活跃的晶体管比例就受到了热约束的限制。

设处理器的热设计功耗上限为PTDPP_{\mathrm{TDP}}(由封装和散热方案决定),die面积为AdieA_{\mathrm{die}},工艺节点的活跃功耗密度为pactivep_{\mathrm{active}}(W/mm2),则可以同时活跃的面积比例为:

factive=min(1,  PTDPpactiveAdie) f_{\mathrm{active}} = \min\left(1,\;\frac{P_{\mathrm{TDP}}}{p_{\mathrm{active}} \cdot A_{\mathrm{die}}}\right)

factive<1f_{\mathrm{active}} < 1时,芯片上必须有一部分区域处于关闭或低功耗状态,这就是"暗硅"。暗硅的比例为1factive1 - f_{\mathrm{active}}

以一个具体的数值为例。在5nm工艺下:

  • 桌面处理器:PTDP=100WP_{\mathrm{TDP}} = \SI{100}{W}A_{\mathrm{die}} = \SI{200}{mm^2}p_{\mathrm{active}} = \SI{1.0}{W/mm^2}(高活动率区域),factive=50%f_{\mathrm{active}} = 50\%

  • 移动处理器:PTDP=10WP_{\mathrm{TDP}} = \SI{10}{W}A_{\mathrm{die}} = \SI{100}{mm^2}p_{\mathrm{active}} = \SI{0.5}{W/mm^2}(平均),factive=20%f_{\mathrm{active}} = 20\%

  • 数据中心处理器:PTDP=250WP_{\mathrm{TDP}} = \SI{250}{W}A_{\mathrm{die}} = \SI{400}{mm^2}(或等效chiplet面积),p_{\mathrm{active}} = \SI{1.0}{W/mm^2}factive=62.5%f_{\mathrm{active}} = 62.5\%

暗硅问题深刻地影响了现代处理器的架构设计思路:

(1)异构计算(Heterogeneous Computing):既然不能同时使用所有晶体管,就应该为不同类型的工作负载设计专用硬件(加速器),在不同时间只激活需要的部分。这催生了:

  • big.LITTLE/DynamIQ(ARM)、E-core/P-core(Intel Hybrid)等大小核异构设计——大核提供高单线程性能,小核提供高能效的多线程吞吐;

  • GPU、NPU(Neural Processing Unit)、DSP、视频编解码器、ISP(Image Signal Processor)等专用加速器在SoC上的集成——每个加速器在其擅长的工作负载下的能效比通用CPU核心高10×100×10\times\sim 100\times

(2)动态功率管理:通过DVFS、电源门控(power gating)、时钟门控等技术,精确控制每个模块的功耗状态。现代处理器的电源管理单元(PMU)可以在微秒级别动态调节数十个独立的电压域和频率域。Intel的Turbo Boost和AMD的Precision Boost技术允许在热余量充足时临时将少量核心超频到远高于基础频率的水平——这本质上就是利用其他核心的"暗硅"功率预算来加速活跃核心。

(3)芯片面积的"投资"策略:由于不是所有晶体管都能同时活跃,处理器架构师需要仔细考虑"把面积投到哪里回报最高"。一些指导原则:

  • 把面积投到Cache上:Cache大部分时间只有被访问的行是活跃的,其余行处于保持状态(漏电极低),因此Cache的有效功耗密度远低于逻辑电路。增加Cache可以降低缺失率从而提高IPC,且不显著增加活跃功耗;

  • 把面积投到更多但不同时活跃的功能单元上:例如增加一个额外的ALU端口,虽然增加了面积,但只有在该ALU被使用时才消耗功耗。如果该ALU每周期使用概率为30%,其平均功耗密度仅为活跃功耗的30%;

  • 把面积投到预测器和投机执行结构上:更大的BTB和TAGE表可以提高分支预测准确率,减少投机执行失败的浪费功耗。

(4)Chiplet和3D封装:将芯片分割成多个小die(chiplet),分别制造后通过先进封装技术(如CoWoS、EMIB、Foveros等)集成。Chiplet架构虽然不直接解决暗硅问题,但提供了以下间接帮助:

  • 不同chiplet可以使用不同工艺节点(例如CPU核心用最先进工艺,I/O用成熟工艺),降低总成本;

  • 3D堆叠可以通过增加散热表面积来缓解热密度约束;

  • 分离的chiplet在物理上有一定间距,有助于热量分散。

暗硅问题的量化分析还需要考虑芯片不同区域的功耗密度差异。在一个典型的处理器核心中:

  • 执行单元(ALU、MUL、FPU):活跃时功耗密度最高,约1.0 W/mm2–2.0 W/mm2(5nm),但活动因子通常<<50%;

  • 发射队列和ROB:由于CAM搜索和大量寄存器读写,功耗密度约0.5 W/mm2–1.0 W/mm2,活动因子较高(80%+);

  • Cache(SRAM阵列):大面积但功耗密度较低,约0.1 W/mm2–0.3 W/mm2(读写时),因为同一时刻只有少量行被访问;

  • 时钟树:覆盖全芯片,功耗约占总动态功耗的20%\sim30%,但通过时钟门控可以有效控制。

因此实际的暗硅模型需要对不同区域分别建模,而非简单地用均匀功耗密度来估算。在微架构探索阶段,一个有效的做法是建立"功耗-面积"表格(power-area table),列出每个微架构模块的面积和不同工作负载下的功耗,然后在给定的TDP约束下寻找总IPC最优的配置。

SRAM与CAM的面积

处理器中包含大量的片上存储结构:Cache、TLB、BTB、分支预测表、发射队列、ROB、寄存器文件等。这些存储结构通常由SRAM(Static Random-Access Memory)或CAM(Content-Addressable Memory)构成,它们的面积占处理器核心总面积的50%\sim70%。理解SRAM和CAM的电路结构和面积特性,对于处理器架构师做出合理的微架构决策至关重要——例如"L1 D-Cache应该是32KB还是64KB?""发射队列从96项扩展到128项的面积开销是多少?"这些问题都需要对底层存储单元的面积有量化的理解。

6T SRAM单元

6T SRAM(6-Transistor SRAM)是最基本的静态存储单元,由6个晶体管组成:2个交叉耦合的反相器(P1/N1和P2/N2)形成一个双稳态锁存器来存储1 bit数据,另外2个通路晶体管(N3和N4)用于读写访问。图图 3.6展示了6T SRAM单元的电路结构。

6T SRAM单元的电路结构:P1/N1和P2/N2组成交叉耦合的反相器对,N3/N4为通路晶体管
6T SRAM单元的电路结构:P1/N1和P2/N2组成交叉耦合的反相器对,N3/N4为通路晶体管

6T SRAM的工作原理如下:

保持状态(Hold):WL为低电平,N3和N4关断,两个交叉耦合的反相器通过正反馈维持Q和Q\overline{\text{Q}}的互补状态。存储的数据在不断电的情况下可以无限期保持(这就是"静态"RAM的含义,与DRAM需要定期刷新不同)。

读操作:首先将BL和BL\overline{\text{BL}}预充电到VddV_{\mathrm{dd}},然后拉高WL使N3和N4导通。假设Q=0(Q\overline{\text{Q}}=1),则通过N3和N1形成放电通路,BL被缓慢拉低;而BL\overline{\text{BL}}通过N4和P2保持高电平。灵敏放大器(Sense Amplifier, SA)检测BL和BL\overline{\text{BL}}之间的电压差(通常50 mV–100 mV即可触发)来判定存储的数据。灵敏放大器的触发速度直接影响SRAM的读取延迟。

写操作:将要写入的数据通过强力的写驱动器(Write Driver)驱动到BL和BL\overline{\text{BL}}上(例如写1时BL=VddV_{\mathrm{dd}}BL\overline{\text{BL}}=0),然后拉高WL。写驱动器的驱动能力必须强于SRAM单元内部的保持能力(即通路晶体管+写驱动器的下拉能力必须能克服PMOS上拉管的保持能力),才能强制翻转Q和Q\overline{\text{Q}}的状态。这个"可写性"(Writeability)约束定义了SRAM单元中各晶体管的尺寸比例关系。

6T SRAM的设计存在一个根本性的读写矛盾

  • 为了读稳定性,希望通路晶体管(N3/N4)弱、下拉管(N1/N2)强,使得读操作时Q节点的电位抬升最小;

  • 为了可写性,希望通路晶体管(N3/N4)强、上拉管(P1/P2)弱,使得写驱动器能够克服保持力。

这两个要求相互矛盾,需要在WN1/WN3W_{\mathrm{N1}}/W_{\mathrm{N3}}(cell ratio)和WN3/WP1W_{\mathrm{N3}}/W_{\mathrm{P1}}(pull-up ratio)之间做精确的权衡。在先进工艺下,由于VddV_{\mathrm{dd}}降低和工艺变异增大,这个权衡变得越来越困难。

6T SRAM单元的面积随工艺缩放而减小。在先进节点下的典型面积为:

  • 7nm(TSMC N7):\sim(HD高密度版本)

  • 5nm(TSMC N5):\sim(HD)

  • 3nm(TSMC N3E):\sim(HD)

值得注意的是,SRAM单元面积的缩放速度已经大幅落后于逻辑标准单元的缩放。在7nm到3nm的演进中,逻辑密度提高了约3.2×3.2\times,但SRAM密度仅提高了约1.4×1.4\times。这一差距的根本原因在于:SRAM单元需要6个晶体管在极小的面积内以精确的比例关系排列,工艺变异对SRAM稳定性(SNM和Writeability)的影响远比对逻辑电路的影响更严重。因此在先进节点下,SRAM通常需要使用比逻辑区域更宽松的设计规则(比逻辑单元大20%\sim50%的最小间距),导致面积缩放不如逻辑那么积极。

设计提示

SRAM面积缩放放缓意味着在先进工艺下,Cache和其他片上存储占处理器核心面积的比例会持续上升。一个量化的例子:在5nm工艺下,64 KB的SRAM阵列(不含解码器和SA等外围电路)需要64 \times 1024 \times 8 / 0.021 \times 10^{-6} = \SI{0.25}{mm^2}。加上解码器、灵敏放大器、写驱动器等外围电路(通常占总面积的40%\sim60%),一个64 KB Cache的总面积约为0.4 mm2–0.6 mm2。一个拥有64KBL1I+64KBL1D+1MBL2的核心,SRAM总面积约为\SIrange46mm2。一个拥有\SI{64}{KB} L1-I + \SI{64}{KB} L1-D + \SI{1}{MB} L2的核心,SRAM总面积约为\SIrange{4}{6}{mm^2}(L2占大部分),而整个核心面积可能仅为5–8 mm2^2。也就是说,SRAM可以占到核心面积的60%\sim75%。

对于架构师来说,这意味着"加大Cache"的面积代价越来越高。在评估"L1 D-Cache从32KB加到64KB是否值得"时,需要权衡额外0.2 mm2–0.3 mm2的面积开销与缺失率的降低带来的IPC提升。

8T SRAM与读稳定性

如前所述,6T SRAM存在一个内在的稳定性问题:在读操作期间,通路晶体管和下拉管形成的分压网络可能导致存储节点的电位被抬高,如果抬升超过了静态噪声容限(SNM),就会导致数据翻转——读干扰(Read Disturb)。

静态噪声容限(SNM, Static Noise Margin)的严格定义如下:将SRAM单元的两个交叉耦合反相器的电压传输特性(VTC)画在同一张图上(一个反相器的输出作为另一个的输入,反之亦然),形成所谓的"蝴蝶曲线"(Butterfly Curve)。两条曲线之间形成两个对角的"眼"(eye),SNM定义为能嵌入这两个眼中的最大正方形的边长。在保持状态下,典型的SNM在5nm工艺中为150 mV–250 mV;但在读操作期间,由于通路晶体管的影响(存储"0"的节点被略微抬高),蝴蝶曲线变形,SNM显著降低到60 mV–120 mV。

SNM的降低在先进工艺下更加突出,原因有二:

  1. VddV_{\mathrm{dd}}的持续降低直接压缩了噪声裕度——SNM大致与VddV_{\mathrm{dd}}成正比;

  2. 工艺变异(特别是随机掺杂波动RDF引起的局部VthV_{\mathrm{th}}变异)使得部分单元的SNM可能低至几十mV。VthV_{\mathrm{th}}变异的标准差σVth\sigma_{V_{\mathrm{th}}}与晶体管面积的关系为σVth1/WL\sigma_{V_{\mathrm{th}}} \propto 1/\sqrt{W \cdot L},因此越小的晶体管变异越大。

当SRAM阵列有数百万个单元时,即使单个单元的失效概率极低(例如在6σ\sigma下为10910^{-9}),在百万量级的单元中也可能出现失效。SRAM的良率要求通常是6σ\sigma以上,这意味着所有晶体管参数的6倍标准差范围内的SNM都必须为正。

8T SRAM通过增加独立的读端口来彻底解决读干扰问题。在6T的基础上增加2个晶体管:

  • 一个读缓冲NMOS(RD):栅极连接到存储节点Q(或Q\overline{\text{Q}}),充当读出缓冲器的一部分;

  • 一个读通路NMOS(RA):栅极连接到读字线(RWL),控制读访问。

读操作通过独立的读位线(RBL)进行,不再通过原来的BL/BL\overline{\text{BL}},因此完全不干扰存储节点。8T SRAM的读SNM等于保持SNM(150 mV–250 mV),大幅提高了稳定性。写操作仍然通过原来的BL/BL\overline{\text{BL}}和WL进行,与6T相同。

8T SRAM的代价是:

  • 面积增加约30%\sim40%(额外2个晶体管+读位线RBL+读字线RWL);

  • 读端口是单端的(single-ended):只能检测RBL是否被放电,不像6T的差分读出那样有高的共模噪声抑制。在同一列中,如果多个字同时打开(即多行的RWL同时为高),未被选中行的RD管的漏电流会在RBL上累积,可能导致误判。因此8T SRAM通常需要将列分成多个段(segment),每段的行数受漏电累积限制(通常\leq 64\sim128行/段);

  • 功耗略增(额外的RD晶体管有漏电)。

在实际的处理器设计中,SRAM单元类型的选择取决于具体应用场景:

  • L2/L3 Cache:通常使用6T HD SRAM以最大化密度,通过冗余行列(redundant rows/columns)和ECC来处理偶发错误;

  • L1 Cache:使用6T HP(High Performance,单元面积略大但速度更快)或8T SRAM,侧重于速度和稳定性;

  • 寄存器文件:通常使用多端口SRAM(8T\sim12T或更多),需要同时支持多个读端口和写端口。在一个6-wide处理器中,整数物理寄存器文件可能需要8\sim12个读端口和4\sim6个写端口。多端口SRAM的面积和延迟与端口数成超线性关系——每增加一个端口,需要增加一条位线和一条字线,面积大致增加O(Nport)O(N_{\mathrm{port}}),但布线拥塞使实际面积增长更快。一个12读6写的64位×\times256项寄存器文件在5nm工艺下的面积可以达到0.1 mm2–0.2 mm2

  • 低电压设计:当Vdd<0.5VV_{\mathrm{dd}} < \SI{0.5}{V}时(如IoT处理器或SRAM在近阈值操作下),几乎必须使用8T或更多晶体管的SRAM变体(如10T),因为6T在此电压下的读SNM不足以保证可靠操作。

CAM单元的结构与面积

CAM(Content-Addressable Memory)是一种支持按内容并行查找的存储器。与SRAM"给地址、取数据"的操作方式不同,CAM是"给数据(搜索键)、返回匹配位置"——它在一个时钟周期内将搜索键与所有存储项并行比较,返回匹配项的位置(hit/miss及匹配地址)。这种并行搜索能力使得CAM在处理器中被广泛用于需要"关联查找"的结构中。

NOR型Binary CAM是最常用的结构。一个NOR型CAM bitcell在6T SRAM存储单元的基础上增加了2个比较晶体管(均为NMOS),形成8T结构(注意这里的8T与8T SRAM的8T不同——8T SRAM增加的是读缓冲,而8T CAM增加的是比较逻辑)。比较操作的基本原理是:

  1. 匹配线(Match Line, ML)被预充电到VddV_{\mathrm{dd}}

  2. 搜索数据及其互补值被加载到搜索线对(SL和SL\overline{\text{SL}});

  3. 如果搜索数据与存储数据不匹配(任一bit不匹配),则该bit的比较晶体管导通,将ML放电到地——这是一个逻辑NOR操作(任一失配即放电);

  4. 只有当一行中所有bit都匹配时,ML才保持高电平,表示该行命中(Hit)。

TCAM(Ternary CAM)进一步扩展了CAM的功能,允许存储和搜索第三种状态"X"(don’t care,无关位)。每个TCAM bitcell需要16个晶体管——可以看作两个背靠背的Binary CAM bitcell,一个用于匹配"0/1",另一个用于存储"care/don’t-care"掩码。TCAM在处理器TLB中被广泛使用,因为TLB需要支持可变页大小(4KB/2MB/1GB),不同页大小下地址的部分高位需要被掩码为"don’t care"。

CAM的面积和功耗远高于普通SRAM:

  • 面积:一个NOR型Binary CAM bitcell的面积约为6T SRAM的1.52×1.5\sim 2\times(额外的比较晶体管和搜索线/匹配线占用的布线空间)。TCAM bitcell的面积约为6T SRAM的34×3\sim 4\times。此外,CAM阵列还需要匹配线驱动器、优先级编码器(当多行同时匹配时选择优先级最高的)等外围电路;

  • 搜索功耗:CAM的每次搜索操作需要所有搜索线的充放电(\propto列数)和所有匹配线的预充电+求值(\propto行数)。对于一个EE×B\times B位的CAM:

PsearchECMLVdd2f+BCSLVdd2fP_{\mathrm{search}} \approx E \cdot C_{\mathrm{ML}} \cdot V_{\mathrm{dd}}^2 \cdot f + B \cdot C_{\mathrm{SL}} \cdot V_{\mathrm{dd}}^2 \cdot f

其中CMLC_{\mathrm{ML}}CSLC_{\mathrm{SL}}分别是单条匹配线和搜索线的电容。一个128项×\times50位的CAM在5nm、5 GHz下的单次搜索能耗约为1 pJ–3 pJ;

  • 延迟:CAM的搜索延迟主要受匹配线的RC延迟限制。匹配线是一条长线,连接了一行中所有bitcell的比较晶体管输出。对于宽度为50位的CAM项,匹配线的物理长度可达15–30 m,RC延迟约为50–150 ps。

由于CAM的高面积和功耗成本,处理器设计者总是尽量减小CAM结构的规模,或者在可能的情况下用SRAM+哈希索引的方式来替代全相联CAM。例如:

  • set-associative Cache:不使用CAM来全相联搜索,而是通过地址的index域来选择一个set,然后仅对该set中有限的几个way(通常4\sim16个)进行tag比较。比较器的个数等于way数,远少于全相联CAM的项数;

  • set-associative TLB:L2 TLB通常不用TCAM,而是采用set-associative SRAM结构+多次查找来处理可变页大小。

各存储结构在处理器中的应用

处理器中的各种存储结构根据其访问模式选择不同的存储单元类型和组织方式。表表 3.4给出了一个总结。

存储结构典型规模存储类型访问方式关键约束
L1 I/D-Cache Data32–64 KB6T HP / 8T索引访问延迟
L1 Cache Tag4-16 way tagSRAM+比较器set-assoc.延迟
L2 Cache256 KB–2 MB6T HD + ECC索引访问密度
L3 Cache4–64 MB6T HD + ECC索引访问密度
BTB4–16 K项SRAM+比较器set-assoc.延迟
PHT/TAGE表4–64 K项SRAM哈希索引密度
发射队列(wake-up)64–192项CAM (tag域)并行搜索功耗/延迟
发射队列(数据)64–192项SRAM索引访问面积
ROB256–700项SRAM索引访问面积
寄存器文件128–384×\times64b多端口SRAM索引访问端口数/延迟
重命名映射表32–64×\times7bCAM或SRAM按名查找延迟
L1 ITLB/DTLB32–128项TCAM全相联搜索功耗
L2 TLB512–4 K项SRAM+比较器set-assoc.密度
Store Queue48–128项CAM (地址域)并行搜索功耗/延迟
Load Queue72–192项CAM/Bloom并行搜索面积

处理器中主要存储结构的实现方式

从表表 3.4可以清楚地看到处理器中存储结构的多样性。一些值得注意的观察:

(1)发射队列中的CAM是面积和功耗的热点。发射队列的wake-up操作是CAM最典型的应用场景之一。当一条指令完成执行时,它的结果物理寄存器编号被广播到所有发射队列项的源操作数tag域上进行匹配。对于一个128项、每项有2个源操作数的发射队列,在6-wide处理器中每个周期可能有6个结果同时广播,需要128×2×6=1536128 \times 2 \times 6 = 1536个并行CAM比较操作。

(2)寄存器文件的端口数是关键约束。在一个8-wide处理器中,如果每条指令有2个源操作数和1个目标操作数,寄存器文件理论上需要16个读端口和8个写端口。实际设计中通过寄存器文件分bank、延迟写回等技术来减少端口数,但仍然是面积和延迟的瓶颈。

(3)TLB的TCAM受面积限制。L1 ITLB/DTLB使用全相联TCAM以支持灵活的页大小匹配,但TCAM的高面积成本将L1 TLB的项数限制在了32\sim128项。对于需要更大TLB覆盖范围的工作负载(如数据库、虚拟化),需要依赖L2 TLB(更大但更慢)或巨页(Huge Page)来减少TLB缺失。

设计权衡 2 — CAM vs SRAM:发射队列的设计选择

发射队列中使用CAM进行wake-up操作是经典的设计选择,但并非唯一选择。一种替代方案是矩阵调度器(Matrix Scheduler / Wakeup Matrix),用一个N×NN \times N的位矩阵来表示指令间的依赖关系——矩阵的第(i,j)(i,j)位为1表示指令ii依赖于指令jj的结果。当指令jj完成时,将矩阵的第jj列清零。一条指令的所有依赖都被清除(其对应行全为0)时即可发射。

矩阵方案的优点是避免了CAM的搜索线充放电功耗,仅需要简单的行OR操作。缺点是矩阵的面积为O(N2)O(N^2)——对于128项的发射队列,矩阵为128×128=16384128 \times 128 = 16384位,加上优先级选择逻辑,总面积可能超过CAM方案。

在当前的设计实践中:

  • 小型发射队列(\leq 48\sim64项):矩阵调度器通常更优(面积和功耗都更低);

  • 中型发射队列(64\sim128项):两种方案各有优劣,取决于具体的物理约束和时序要求;

  • 大型发射队列(>> 128项):CAM方案的面积增长为O(N)O(N)(每增加一项只增加一行CAM),优于矩阵的O(N2)O(N^2)。但此时CAM的功耗可能成为限制因素,需要通过分段(segmenting)或分bank来控制。

第三种方案是使用数据流标记(Dataflow Tagging)结合RAM索引,将依赖追踪分散到发射队列的各个项中,通过计数器或位向量来跟踪未满足的源操作数数量。这种方案在功耗上最优但逻辑复杂度较高,在某些商业处理器中已经被采用。

先进工艺节点的特性

本节深入分析当前和近未来的主要工艺节点——5nm、3nm、2nm——的关键特性,以及正在发展中的背面供电网络(BSPDN)技术,帮助处理器架构师理解这些工艺进步如何影响微架构的设计空间和优化方向。

5nm工艺

TSMC的N5/N5P节点(2020年量产)是当前高性能处理器最广泛使用的FinFET工艺。Apple M1/M2/M3系列、AMD Zen 4、高通Snapdragon 8 Gen 1/Gen 2等旗舰芯片均采用此工艺或其变体。

5nm工艺的关键特性:

  • 晶体管密度:约173 MTr/mm2^2(逻辑区域,含互连),SRAM bitcell面积(HD)。

  • 标准单元高度:6T/6.5T track height(金属间距×\timestrack数),较7nm的7.5T进一步缩小,使得逻辑密度获得了超越0.7×0.7\times线性缩放的面积改善。

  • FinFET结构:Fin pitch 25–27 nm,Hfin48nmH_{\mathrm{fin}} \approx \SI{48}{nm}Wfin5nmW_{\mathrm{fin}} \approx \SI{5}{nm}。标准单元中每个晶体管使用2个鳍片(6T单元)或3个鳍片(7.5T/8T单元)。

  • 金属互连:13层金属(M1–M13),M1 pitch 28 nm,底层使用Cu双大马士革工艺。M1/M2的方块电阻约500–1000,Ω\Omega/sq。

  • 性能/功耗:相比N7,同性能下功耗降低约30%,同功耗下性能提升约15%。

  • VddV_{\mathrm{dd}}:0.65–0.75 V(典型操作范围)。

  • FO4延迟:约18 ps(SVT典型值),对应\sim5.5 GHz的理论最高频率(约11\sim12个FO4/cycle)。

对于处理器微架构,5nm节点的晶体管预算使得以下设计成为可能(以\sim5 mm2的核心逻辑 + \sim5 mm2的L2 Cache为例):

  • 64 KB L1 I-Cache + 64 KB L1 D-Cache,4-way或8-way set associative

  • 1 MB\sim2 MB L2 Cache(占大部分面积)

  • 8-wide解码、12+执行端口

  • 512\sim700项ROB

  • 大型分支预测器(TAGE + BTB >> 32 KB总存储)

  • 多个分区的发射队列(整数+浮点/SIMD,每个64\sim96项)

Apple M1的Firestorm大核心是5nm节点微架构能力的一个典型代表:8-wide解码、\sim630项ROB、192KB L1 I-Cache + 128KB L1 D-Cache、12 MB共享L2。它展示了在5nm工艺下,如果面积预算足够,单个核心可以达到的微架构复杂度。

3nm工艺

TSMC的N3/N3E/N3P节点(2022\sim2024年陆续量产)仍然基于FinFET结构,但通过更激进的fin pitch缩小、标准单元高度降低和互连优化实现了进一步的密度提升。Apple M3/M4系列以及部分高端手机和服务器芯片开始采用此工艺。

3nm工艺相比5nm的主要改进:

  • 逻辑密度:约292 MTr/mm2^2,相比N5提升约1.7×1.7\times

  • SRAM密度:HD bitcell ,相比N5仅缩小约5%。这再次凸显了SRAM缩放放缓的趋势——逻辑密度提升1.7×1.7\times,而SRAM密度仅提升1.05×1.05\times

  • 性能/功耗:同性能下功耗降低约25%\sim30%,同功耗下性能提升约10%\sim15%。

  • 标准单元高度:进一步从6T缩小到5T/5.5T track height。

  • 互连层数:增加到15\sim16层,底层金属开始引入Mo或Ru等新材料。

  • 设计复杂度:设计规则数量较N5增加约20%,EDA工具的运行时间和存储需求大幅增加——一个完整的处理器核心的物理设计签核(sign-off)可能需要数十万CPU小时的计算资源。

3nm节点的一个重要挑战是SRAM良率。由于fin pitch进一步缩小到23–26 nm,FinFET的fin高宽比已经达到极限,工艺变异(特别是局部变异,LER——Line Edge Roughness)对SRAM SNM的影响加剧。为了保证6σ\sigma以上的良率(对于百万级bitcell的L2/L3 Cache是必需的),3nm SRAM通常需要:

  • 使用比逻辑区域更宽松的设计规则(更大的minimum spacing);

  • 增加冗余行列(redundancy)的比例——在3nm中,L3 Cache的冗余比例可能达到5%\sim8%;

  • 使用更强的ECC编码(如SECDED变为SEC-DED-SBD,增加soft error检测能力)。

对于处理器架构师来说,3nm相比5nm的密度提升主要体现在逻辑区域——可以放入更复杂的乱序执行引擎、更大的ROB、更宽的解码宽度等。但SRAM密度几乎没有改善,这意味着Cache容量的增加主要只能通过增大die面积来实现,而不是"免费"获得的。Apple M4的Everest核心就体现了这一策略——它在3nm工艺下将解码宽度提升到10-wide,ROB扩大到700+项,但L1/L2 Cache容量的增加幅度相对有限。

2nm及以下工艺展望

2nm节点标志着从FinFET到GAA纳米片晶体管的结构性转变。TSMC N2(预计2025年量产)、Intel 20A(预计2025年)和Samsung 2nm GAA(预计2025年)都将采用GAA/纳米片架构。这是自2011年FinFET引入以来最重大的晶体管结构变革。

2nm工艺的预期特性:

  • 晶体管结构:GAA纳米片,3\sim4层堆叠,片宽25–50 nm,片厚5–7 nm。

  • 逻辑密度:预计400 MTr/mm2–500 MTr/mm2,相比N3提升约1.5×1.7×1.5\times\sim 1.7\times

  • SRAM bitcell:预计0.015–0.018 m2^2(HD),改善有限。

  • VddV_{\mathrm{dd}}:预计0.55–0.65 V,GAA的更好SS特性允许进一步降压。

  • 性能/功耗:同性能下功耗降低约25%\sim30%,或同功耗下性能提升约10%\sim15%。

  • 底层互连:引入Mo或Ru替代Cu,配合barrierless工艺,降低底层金属的有效电阻率。

  • FO4延迟:预计12–13 ps,对应6 GHz–7 GHz的理论频率上限。

在2nm之后的路线图:

  • 1.4nm(TSMC A14 / Intel 14A,预计2027\sim2028年):继续使用GAA纳米片,进一步缩小间距,可能引入BSPDN。预计逻辑密度600 MTr/mm2–800 MTr/mm2

  • 1nm及以下(约2029\sim2030年+):可能引入CFET(垂直堆叠N/P),或结合2D材料(如MoS2_2)通道的新型晶体管。逻辑密度有望突破1000 MTr/mm2^2

表 3.5对比了5nm/3nm/2nm三个主要节点的关键参数。

参数N5 (5nm)N3E (3nm)N2 (2nm, 预计)
量产年份202020232025
晶体管结构FinFETFinFETGAA纳米片
逻辑密度 (MTr/mm2^2)\sim173\sim292\sim400–500
SRAM HD (nm2^2)0.0210.01990.015–0.018
VddV_{\mathrm{dd}} 典型值 (V)0.65–0.750.65–0.750.55–0.65
金属层数1315–1615–17
M1 Pitch (nm)282320–22
FO4延迟 (ps)\sim18\sim15\sim12–13
Wafer成本 ($, 估计)\sim17,000\sim20,000\sim25,000–30,000

5nm / 3nm / 2nm 工艺节点关键参数对比(TSMC基准)

从表表 3.5可以观察到以下趋势:

  1. 逻辑密度的提升在放缓:5nm→3nm约1.7×1.7\times,3nm→2nm约1.4×1.7×1.4\times\sim 1.7\times,远低于早期每代2×2\times的理想值。但GAA结构本身在密度上的优势可能使2nm的实际提升接近高端;

  2. SRAM密度的改善更加缓慢:这是持续性的瓶颈。在未来的CFET时代,由于N/P垂直堆叠,SRAM单元也可能获得显著的面积缩减;

  3. VddV_{\mathrm{dd}}在GAA节点有望获得更显著的降低(\sim0.1 V),这主要得益于GAA的SS改善。VddV_{\mathrm{dd}}从0.70 V降到0.60 V可以使动态功耗降低约26%((0.6/0.7)20.74(0.6/0.7)^2 \approx 0.74);

  4. FO4延迟持续改善,意味着同等逻辑深度下的关键路径延迟可以降低,有利于提高频率或在相同频率下容纳更多逻辑级数;

  5. Wafer成本持续攀升:从5nm的约$17,000上升到2nm的$25,000\sim$30,000。这意味着每平方毫米硅片的成本在增加(尽管每个晶体管的成本因密度提升可能仍在下降),对芯片面积的控制变得更加重要。

对于面向2030年的处理器设计,2nm及以下工艺带来的密度提升意味着可以在单核心中集成更复杂的微架构特性。以一个假想的面向2030年的超标量核心为例(die面积\sim5 mm2核心逻辑,2nm工艺,\sim25亿晶体管用于逻辑):

  • 10\sim12-wide解码

  • 1024项ROB

  • 96 KB L1 I-Cache + 96 KB L1 D-Cache

  • 4 MB L2 Cache

  • 多级TAGE分支预测器(>> 128 KB总存储)

  • 256项发射队列(分区式)

  • 512项物理寄存器文件(整数+浮点/SIMD)

  • 高级值预测器(Value Predictor)

  • 硬件预取增强(多种prefetcher协同工作)

当然,如此大规模的微架构能否实际实现,还取决于功耗预算(在5 mm2面积上25亿晶体管的漏电可能就超过5 W)、导线延迟约束(核心物理尺寸\sim2 mm×\times2.5 mm,对角线3.2 mm,信号传播约10\sim15个周期)、以及设计验证的复杂度。但工艺至少提供了实现这些设计的晶体管预算。

背面供电网络(BSPDN)

传统上,芯片的供电网络(Power Delivery Network, PDN)和信号布线共享同一侧的BEOL金属层——电源和地网络需要占据大量的高层金属资源(通常消耗顶层2\sim3层金属的30%\sim50%布线资源),与信号布线竞争有限的布线空间。这在先进节点下造成了严重的矛盾:

  • 晶体管密度越来越高→总功耗增加→需要更大的供电电流(I=P/VddI = P / V_{\mathrm{dd}},而VddV_{\mathrm{dd}}在降低,使得II增长更快)→需要更低电阻的PDN→需要更粗的金属线→消耗更多的布线资源;

  • 金属间距越来越小→单条金属线的电阻增大→PDN的IR drop恶化→需要更多的并行金属线来降低总电阻→进一步消耗布线资源。

IR drop是一个关键的设计指标。当供电网络存在电阻时,芯片内部不同位置的实际VddV_{\mathrm{dd}}会低于外部供给的Vdd,extV_{\mathrm{dd,ext}}

Vdd,local=Vdd,extIlocalRPDNV_{\mathrm{dd,local}} = V_{\mathrm{dd,ext}} - I_{\mathrm{local}} \cdot R_{\mathrm{PDN}}

在5nm工艺的典型设计中,最大IR drop约为VddV_{\mathrm{dd}}的5%\sim10%。当Vdd=0.70VV_{\mathrm{dd}} = \SI{0.70}{V}时,10% IR drop意味着局部实际电压仅为0.63 V,这需要在时序签核中按0.63 V而非0.70 V来验证最慢路径——相当于"浪费"了70 mV的电压裕度。

背面供电网络(Backside Power Delivery Network, BSPDN)通过将供电网络从芯片正面移到芯片背面,从根本上解决了PDN与信号布线的资源竞争问题。其实现方式是:

  1. 在晶圆正面完成FEOL(晶体管)和正面BEOL(信号布线层)后,将晶圆倒置;

  2. 从背面减薄硅衬底至几微米或更薄;

  3. 在背面制造电源/地网络的金属层,通过nano-TSV(直径<100nm< \SI{100}{nm})穿过减薄的硅衬底直接连接到FEOL晶体管的源漏区域。

BSPDN的关键优势:

  1. 释放正面布线资源:电源网络不再占据正面高层金属,释放了约10%\sim15%的布线资源给信号布线。这直接降低了路由拥塞(routing congestion),使得物理设计可以实现更紧凑的布局或更低的金属层使用率;

  2. 降低IR drop:背面供电可以使用更粗的金属线(不受正面信号间距约束),大幅降低PDN电阻。Intel报告其PowerVia技术可以将IR drop降低约30%;

  3. 改善标准单元高度:在没有背面供电的情况下,标准单元需要在M1层预留VddV_{\mathrm{dd}}VssV_{\mathrm{ss}} power rail的空间(约占M1 pitch的2个轨道),限制了单元高度的进一步缩小。BSPDN允许取消正面的power rail,使标准单元高度可以再缩小0.5\sim1个track(例如从5T降到4T),进一步提升逻辑密度;

  4. 更均匀的电源供应:背面供电可以更直接地将电源连接到晶体管的源漏端,减少中间经过的金属层数和通孔数,改善供电均匀性;

  5. 改善Ldi/dtLdi/dt噪声:更短的供电路径意味着更低的寄生电感LL,减少了高频开关电流引起的V=Ldi/dtV = L \cdot di/dt供电噪声。

Intel在其Intel 20A节点率先引入了BSPDN(商用名PowerVia),并已在其Arrow Lake处理器的某些计算tile中使用。TSMC计划在N2P(N2的增强版本,预计2026年量产)中引入背面供电。Samsung在其2nm GAA路线图中也包含了背面供电选项。

BSPDN的工艺挑战主要在于:

  • 晶圆减薄:硅衬底需要被减薄到<5μm< 5\,\textmu{}m,在如此薄的硅片上进行后续加工而不破碎是一个重大挑战;

  • Nano-TSV制造:背面到前面的通孔直径需要<100nm< \SI{100}{nm}以不干扰前面的电路布局,同时其电阻需要足够低(<1\Omega< \SI{1}{\ohm}/via)以不引入额外IR drop;

  • 散热路径改变:传统上芯片的散热主要从正面(通过散热盖和散热器),BSPDN在背面增加了金属层,可能改变散热路径和热阻。需要重新设计封装和散热方案。

对于处理器微架构设计,BSPDN的综合影响可以总结如下:

硬件描述 1 — 背面供电对高性能核心的综合影响

以一个8-wide超标量核心为例,从传统前面供电升级到BSPDN后的预期改善:

  • 标准单元面积缩小约5%\sim10%(power rail移除)

  • IR drop改善约30%,允许nominal VddV_{\mathrm{dd}}降低\sim30 mV

  • 动态功耗降低约8%\sim12%(Vdd2V_{\mathrm{dd}}^2效应:(0.67/0.70)20.91(0.67/0.70)^2 \approx 0.91

  • 关键路径时序裕度改善,允许频率提升约3%\sim5%

  • 布线拥塞降低\sim15%,物理设计收敛更快(可能减少数周的设计迭代时间)

  • Ldi/dtLdi/dt噪声降低,减少了对片上去耦电容的需求

这些改善看似每项幅度不大,但综合起来可以使处理器在相同TDP下获得约10%\sim15%的综合性能提升(频率×\timesIPC×\times核心数的乘积)。在工艺代际改善越来越小的今天,这是一个非常显著的增量——大致相当于半代工艺缩放的效果。

更重要的是,BSPDN释放的正面布线资源可以被用于实现更复杂的微架构特性(如更多的bypass路径、更宽的数据通路)而不增加布线拥塞。这使得微架构设计师有了更多的"物理设计预算"来追求更高的IPC。

本章小结

本章系统地阐述了半导体工艺对处理器微架构设计的各方面约束。以下是核心要点的总结:

  1. 晶体管演进:从平面MOSFET到FinFET(三面栅极控制),再到GAA纳米片(四面栅极控制),最终走向CFET(垂直堆叠N/P),每一代都是为了在更小尺寸下维持对沟道的静电控制。对架构师而言,晶体管密度决定了微架构的"预算",而驱动电流和漏电特性决定了频率和功耗的上限。FinFET的离散化驱动能力(鳍片量化)和GAA的连续可调宽度对标准单元设计和关键路径优化有直接影响。

  2. 导线延迟:在先进节点下,底层金属的RC延迟已经超过晶体管延迟,且不随工艺缩放而改善。这迫使微架构设计必须考虑物理距离——bypass网络的长度限制了单周期forwarding的可达范围,Cache的物理尺寸决定了访问延迟的下限,而全芯片信号的多周期传播需要在流水线划分中被显式处理。Clustered微架构和层次化物理设计是应对导线延迟的主要策略。

  3. 功耗约束:动态功耗(αCVdd2f\alpha C V_{\mathrm{dd}}^2 f)和漏电功耗(VddNIleakV_{\mathrm{dd}} \cdot N \cdot I_{\mathrm{leak}})共同构成了总功耗。Dennard缩放在\sim130nm节点失效后,功耗密度随工艺缩小而持续上升,导致暗硅问题——在任何时刻只有部分芯片面积可以活跃工作。这催生了异构计算、精细粒度电源管理、以及"面积投资策略"等架构创新。VddV_{\mathrm{dd}}是功耗和延迟之间的核心折中参数。

  4. SRAM/CAM面积:存储结构占处理器面积的50%\sim70%。6T SRAM面积的缩放速度远慢于逻辑密度的提升,使得Cache在先进工艺下占比越来越大。8T SRAM通过分离读写端口解决读稳定性问题但面积增加30%\sim40%。CAM的面积和功耗是SRAM的1.54×1.5\sim 4\times,限制了发射队列、TLB等关联查找结构的规模。在微架构决策中,SRAM/CAM面积是"容量vs复杂度"权衡的物理基础。

  5. 先进节点特性:5nm/3nm/2nm各节点在逻辑密度上持续改善(但增速放缓),SRAM密度改善极为缓慢。2nm节点引入的GAA结构有望改善SS和VddV_{\mathrm{dd}}缩放。BSPDN技术通过将供电网络移到芯片背面,释放正面布线资源并改善电源完整性,是2nm及以下工艺的关键使能技术,可以为微架构设计提供额外10%\sim15%的综合性能空间。

理解这些工艺约束,是处理器架构师做出正确微架构决策的前提。在后续各章讨论具体的微架构模块——取指(第 4.0 章)、分支预测、解码、乱序引擎、Cache层次等——时,我们将不断回到本章的物理基础,解释为什么某些设计选择优于其他方案,以及工艺约束如何塑造了现代处理器微架构的面貌。

设计提示

前向桥接。我们已经从三个维度理解了处理器性能:第 1.0 章建立了宏观性能模型,第 2.0 章分析了流水线结构的设计空间,本章揭示了物理约束如何界定这个设计空间的边界。但在实际的处理器项目中,架构师如何将这些知识转化为设计决策?如何判断一个微架构改动究竟值不值得做?第 4.0 章将介绍处理器设计的方法论——CPI栈分析、基准测试、性能模拟器和PPA权衡框架——这些工具帮助架构师在本章定义的物理边界内做出量化的、有据可依的设计选择。

[^1]: R. H. Dennard et al., “Design of ion-implanted MOSFET’s with very small physical dimensions,” IEEE J. Solid-State Circuits, 1974.

正文与图片:CC BY-NC-SA 4.0 · 本仓库少量站点配置代码:MIT