, A$ U4 O/ ^9 n* D6 j! q# q! V; l
5 H. |1 Y! }$ \. F: }2 a5 u4 i3 z
许多人都喜欢玩电脑游戏,而3D游戏里的每一帧画面都依赖于显卡的强大性能。显卡是现代PC里规模最庞大的核心组件,不仅能用于游戏和三维渲染,还在人工智能领域发挥着重要的作用。它有哪些结构,又如何生成游戏画面?本期我们将会带你从零开始认识显卡。我们在玩儿的电脑游戏,形态各异的建筑,细节丰富的车辆,一切都很真实,它们的本质其实是一个个不同位置的点,这些顶点在空间中相互连成线,形成无数个三角面,再经过贴图、光照、着色等复杂的渲染过程最终形成了我们看到的精美画面,从三角形的生成再到图像的输出,其中每一个步骤都需要显卡。作为电脑里进气管儿数量最多的核心组件,显卡有哪些结构,又是如何工作的?以这张ROG strix RTX4080猛禽为例,带你从零开始认识显卡。7 U+ l& C3 O- S& |- _4 G# k" ?6 ^/ z
2 _5 k& C3 V( U) F 9 b. H2 I) ~. r; j- F* S( v
% q& d4 N/ [" H/ S6 `6 a, F$ z1 b
1 F( D' ]7 _2 o W( d( y/ s: Y7 p
显卡的正面是散热风扇,底部的黄色长条是用于传输数据的PCIE接口 $ b* Z" h# c) a% v( w) S+ K1 `# }8 n% E
侧面是装饰用的logo和供电接口 3 A# f2 X( H- f* f) V 8 l( L- @, V0 t而尾部则是用来连接显示器的视频接口。 5 M0 Z6 z9 f* F% l+ N# s) R , B H3 K; V6 J5 o) [" r2 \显卡通常会以侧插的形式安装在主板接口上,此时风扇会朝向机箱底部,视频接口则会出现在机箱尾部,从机箱的侧面观察我们通常只会看到显卡的侧面和背板。2 ~; ?- N2 `: c$ u& l
- c( l: j+ R- f; I0 A1 r/ N7 F4 P) C一.显卡的供电- d& J7 S. K, m7 T
6 u: {+ T3 [! f+ I2 W, d
之前大部分显卡都使用8pin PCIE供电接口,能提供225W左右的供电,高功耗显卡则使用多个8pin才能满足需求。 8 }" X- ]; c b. _) f# B5 h. V5 Q8 b5 L7 E' ?
这张4080猛禽使用了最新的12V-2x6接口,体积十分小巧,单个接口可提供高达600W的供电。2 o/ [7 @$ M, i* |! }1 V8 d
! m2 @: R ?! e- e( |
华硕也设计出了无需外接供电线的背插显卡,可以直接从主板取电,安装以后会更加的简洁美观,但要搭配特定的主板或转接头才能使用。/ Z. ]( Q5 ~, I
[6 l+ o( B. \& J- @0 C
二.显卡的散热! F& G/ d) a* [& n
) X# H4 ]. S9 i, P0 V W: Y3 d+ W这张显卡在满载时的功耗可以达到360W,为了有效的排出热量,巨大的散热模组占据了整张显卡90%的体积。8 }0 [8 B. L% p) P8 Z/ o5 I
: q2 C% l, D. z' U' m
而最下面这张小小的电路板才是显卡的本体,也是热量的来源。' G& p: J/ z& m# y4 Y2 \7 ` 8 E& D4 d \9 h8 ? 3 }5 U- W$ }& V! @3 q 7 }2 z5 i" F B! ?8 w散热模组由风扇,鳍片,热管与均热板构成,这里的核心是热管,热管的内壁是由粉末烧结成的多孔结构,在制造成型后,热管内部会填充少量的高纯水,并被抽成真空,以降低水的沸点和凝固点。 6 G! D1 ]) x" X7 j4 Y- b; |6 _% b) U
散热原理:当热管一侧接触到热源,这一侧的水就会蒸发为水蒸气,往压强更低的另一侧飘荡,在温度更低的区域释放热量,重新凝结成液态水,而凝结的液滴,会在毛细作用下,沿着多孔的内壁回流,达成气液循环,通过气体液体的转化,实现热量的高效传导。 # H% J! P, a0 E1 D% R( h7 P & C* Y# L1 b( G* S 为了提高导热效果,大部分显卡会使用多根热管来传递热量,但热管直接接触核心不仅会有空隙,还会有热管无法接触到GPU芯片。所以现在高端显卡一般会使用大铜底包裹热管进行均热,一些高端显卡会使用到能力更强的均热板取代大铜底。均热板,你可以理解为面积非常大的板状热管,同样采用气液转换传递热量,导热能力是纯铜底的数倍。3 B- c2 \7 p, g, Z6 K
# ?3 u! v1 o8 T7 }) n$ S
不过热管和均热板能提供的对流面积非常有限,因此还需要搭配大量的铝制散热鳍片,扩大散热面积,最后通过风扇加强空气对流,带走芯片上的热量。早期的显卡采用下压式风扇设计,从风扇面进风,从侧面出风。现在显卡为了提高散热效果,会采用贯穿式风道设计,热量可以直接从背板的隔栅处排出。4080猛禽的风扇还使用了特殊的设计,中间的风扇与左右两侧的风扇旋转方向不同,保证风扇之间的气流方向相同,从而更高效的排出热量并降低噪音。' \. c3 i! t) v( K
( C1 @4 E) l2 f" B+ ?2 y
' t `$ h5 X0 Y. y% A三.显卡的主板 ) E$ U5 B5 }6 {+ Q+ A8 T3 z" ^* k) l" ]3 I+ L
我们可以把这块电路板从外往里划分成四个部分:接口,供电,显存以及GPU。 R. z$ Q5 N; J, a3 X E
; P) J1 B" K3 t7 X1 s' {. f7 z # W7 [+ L; ~& B( p% V0 e1 a , k7 j* d: p! i' I0 Y0 @' w/ w0 K$ ^5 m( V: | b" _5 u. Y3 C
GPU相当于显卡的大脑,负责几乎所有的运算任务。要注意,GPU并不等于显卡,GPU通常指的是最中间的这块儿芯片,而显卡指的是包括芯片、显存、供电接口、电路板以及散热模块的整体。 , L* Y# c8 ^6 D1 ]+ ?& B9 I# ]$ B) A5 K3 @; e
GPU芯片主要由英特尔、AMD和Nvidia 三家厂商供应,而我们熟知的华硕等AIC厂商主要完成的是电路板与散热的设计和生产。 - C' p6 ~- i p1 q% Q1 ~, M! x3 }" `$ W F. S4 ?
就像主板上所有的元器件都是为CPU服务一样,显卡电路板上的所有元器件也都是为GPU而服务的。视频接口让显卡可以直接把运算好的图像发送给显示器显示。这张4080猛禽搭载了两个HDMI2.1和三个DP1.4接口,不同版本的视频接口能承载的分辨率和刷新率不同。5 e0 N9 }0 W- ^5 h# g4 ~
) R) N; d4 K: V6 e% E
PCIE接口让显卡能够通过主板和CPU、内存等其他原器件交互数据,它的数据传输能力和版本以及规则有关。比如说这张4080猛禽用的就是PCE4.0 x16接口,在主板同样支持PCE4.0的情况下,单条4.0通道每秒可以传输2GB的数据,16条总共可以传输每秒32GB的数据。 * U( v- B, a) E( `. \. h/ e9 u1 I" |) v
4 h7 f# y! p% p* [# t 供电模块保证了显卡有充足的电力分配,它们分布在GPU和显存的外围,由PWM芯片、电容、电感和。MOS管组成电源会从右上方的供电接口输入+12伏的供电,之后再用供电模块儿降压至1.1伏与1.35伏,输送给GPU与显存。这张RT4080猛禽采用直出供电的设计,一个MOS管和一个电感就是一个供电项,总共有18项70A的GPU供电和三项50A的显存供电,即使显卡满载运转,也能提供持续稳定的电能。 % P; c) a; {/ y$ ?, _6 L' }) q7 w 2 ~' L1 i0 ?) V CPU在计算时需要把数据临时存放在内存里,而高速运行的GPU同样需要把数据暂存在显存里,GPU周围黑色的小方块就是显存,这块4080猛禽使用的是最新的GDDR6X显存,频率1400兆赫兹,每颗显存都是2GB的容量,32bit的位宽,八颗一共16GB、256bit。图片 , k% `: H+ \6 u" b) Q - x7 C6 s c" k% C8 V. P1 B: z 显存的总带宽是由频率、位宽还有显存类型共同决定的。显存的频率代表一秒钟可以传输多少个周期,位宽代表显存一次可以传输的数据量。GDDR6X显存每个周期内可以传输16倍的数据,把它们相乘,再把bit换算成Byte以后,就得到了716.8GB/s的总带宽,代表显存每秒能传输的数据量。 ! O/ ~6 v% b e * f% d5 f/ l% L 一般来说,游戏的分辨率越高,贴图和模型越精致,对显存容量和带宽的要求就越高,但在显存够用的情况下,显卡的性能还是由显卡的核心GPU来决定。这张RTX4080显卡搭载的GPU芯片叫做AD 103-301。它使用的是Nvidia最新的ADA-Lovelace架构,面积只有379平方毫米,不过一个矿泉水瓶盖儿大小,但内部却集成了整整459亿颗晶体管。之所以能有这么高的晶体管密度,靠的是台积电先进的5nm光刻工艺。2 p! Q; s) Q3 q) M0 w- R# L
) ?5 }) N3 g7 n$ R4 K2 x2 n$ B 台积电会根据英伟达的设计方案,在一块儿12英寸的硅晶圆上,通过复杂的生产工艺刻制出复杂的电路图案。数量庞大的晶体管在GPU的内部组成了复杂的电路结构,就像一座微缩的城市,其中大部分的电路都可以用于图形运算。; l$ i# n/ t9 N. v
6 H. q& r8 J; o, Y6 {# [
我们一般会用一张简化图来观察GPU结构:主要由SM流式多处理器、L2缓存、NENC视频编码器、NEC视频解码器、显存控制器和PCE控制器构成。 ! G# s* ?$ _6 P& v 8 S) C8 Q! f2 S& n0 \3 o: U0 E8 X SM流式多处理器占据了GPU的大部面积,他负责了几乎所有的图形运算。这颗AD103-301核心里一共有76组SM单元,每组SM单元里包含128个流处理器,总共9728个流处理器。英伟达把这些流处理器叫做CUDA核心。: A+ `& ^" e+ e: W( P9 L3 ?; Y- p/ f
0 K9 u% ]4 p0 u/ _
显卡的流处理器数量越多,频率越高,性能就会越强。1 l( }2 ~1 W* ?; W" Y
, A6 J2 W- x$ l( Q; C$ G8 i3 U
如果把每组SM类比成一个CPU核心,那么这颗GPU就相当于一颗76核9728线程的处理器。不过,CPU核心就像经验丰富的数学家,能处理更加复杂的任务;而GPU核心更像是只会四则运算的小学生,适合做简单的并行计算。在AI模型的训练和推理、3D游戏里的图形渲染都是需要这样大量简单计算的场景。显卡核心的数量优势就比CPU核心的质量优势更加有效率。要理解为什么显卡更适合这样的运算,我们就需要了解一下游戏画面到底是如何渲染的?图片 1 W- I+ a, m$ B& _2 _4 i! I6 U1 m- O; M5 u6 d; z$ o
认识图形渲染的基本流程,只需要知道我们看到的世界是由无数个带坐标的模型世界构成,想要观察这个世界,我们还需要一个虚拟摄像机,只有位于摄像机视野范围内的模型才会被渲染出来,同时这些模型相对于摄像机的位置也会被重新计算,得到新的坐标值。1 T- C, J2 R5 M0 ^, O
% H3 q7 m: e4 s' ]. J 摄像机所捕获到的这些画面实际上是一个二维平面。三维空间中的模型是要通过投影的方式映射到这个平面上,最后我们需要将这个二维画面显示在由像素点构成的屏幕上。为了获得最终的渲染效果,我们还需要对每个像素点的纹理、光照和颜色等属性进行单独计算。经过这一系列复杂的运算,才能最终生成一帧在屏幕上显示的图像。2 ]- O w/ j. B, M- I& E