|
2017年,AMD Zen架构横空出世,Ryzen锐龙、EPYC霄龙处理器在各个领域都大杀四方、一举扭转乾坤。
/ ~+ D2 S% M1 o: _' J: `2018年,Zen架构升级增强进化为Zen+,制造工艺也从14nm来到12nm,而到了2019年,我们迎来第三代锐龙3000系列处理器的同时,架构也升级为全新的Zen 2,同时制造工艺也是全新的7nm。- G% T/ m3 j0 m) {$ d$ `
& q% I( j0 J% }) n" E
Zen 2架构到底全新在哪里?7nm工艺到底有何加成?今天我们就来探究一番,当然CPU架构和制造工艺是极深的、极专业的,我们这里也只是浮光掠影地看一些毛皮,感受一下AMD激进的步伐。
1 r% r. g9 D8 n
$ z0 ~- u0 }9 @" B首先介绍一下Mike Clark,AMD Corporate Fellow(企业院士)、Zen首席架构师。能有今天的处理器,这可是首要功臣,当然还有大神级的Jim Keller,以及无数工程师的心血付出。
8 j5 C, ?; p! _
, _2 E2 p+ e: o4 W4 ~ * _# B W9 ?; R+ D: }2 U, m
Zen架构诞生之初,AMD就强调这是其未来多年发展的基石,同时也早早就准备好了长期路线图。14nm Zen打破坚冰、12nm Zen巩固江山之后,7nm Zen 2将在七月份正式出货,7nm+工艺的下一代全新Zen 3也正在按计划进行,如无意外将在2020年以锐龙四代的身份和我们见面。
6 U' v) u0 }% G) m2 j' h再往后,AMD还有Zen 4乃至是Zen 5,都正在设计之中。如果每年一代的话,至少到2022年,AMD都会以让人目眩的速度持续提升。牙膏,不存在的……
. L* [5 L8 E }4 J ; |. Z/ m: K+ o5 W
Zen 2的设计理念或者原则主要有四条,一是结合新工艺成为世界上首个7nm工艺的高性能x86 CPU,二是在核心执行能力方面全方位增强以提升IPC,三是增强硬件安全性,四是新一代Infinity Fabric互连总线实现配置和性能的模块化和灵活性。
) {9 ?$ J+ J& f6 G9 S* @Zen 2架构使用的7nm工艺当然是来自台积电,AMD也与之有着极为深入的合作,从CPU到GPU都在用它。, Y1 G' ~8 g! C& c2 _

$ N# M& y. P0 o. D- N ; Y8 o8 ^7 I8 }" v3 n4 l
作为一个重要工艺节点,台积电7nm从高性能到低功耗、从数据中心到桌面到移动都应付自如,实现了晶体管密度的翻番,同等性能下功耗可以降低一半,而同等功耗下性能可提升超过25%。+ W2 T2 ^* g" ?4 I" C6 }3 c a
. ~& j2 a6 \3 r. ^+ i, S
初代的Zen架构相比于推土机架构实现了几乎恐怖的52%的IPC(每时钟周期指令数可粗糙理解为架构性能或者单线程性能)提升,Zen+在加强了个位数之后,Zen 2又一举提升了多达15%,远远超出了行业平均水平。) N# Z7 L! z7 A$ h+ L- L
而到了产品层面,Zen 2相比于Zen+的单线程性能提升了多达21%,其中六成来自IPC架构强化,另外四成来自7nm工艺和频率提升,锐龙处理器单线程、单核心性能稍弱的劣势从此彻底不复存在。
1 l5 A/ C4 M3 K
2 Z! c; U/ g" c2 V' f n6 Z再进一步,到了实际游戏中,以两代主流旗舰为例,同样是8核心16线程,锐龙7 3800X相比于锐龙7 2700X的游戏性能在主流大作中可以轻松提升少则超过10%,多则达到34%甚至更多,所以今后再说锐龙打游戏不行可就过时了。
0 J" I: F- v8 kZen 2架构和锐龙三代能取得如此长足的进步,来源于方方面面的强化,简单来说有架构大幅革新、分支预测改进、整数吞吐提升、浮点模块翻番、内存延迟降低、三级缓存容量翻番、频率大幅提高、系统和软件优化,等等等等。% w& A8 B% h: _5 c( q" n

0 L; O- Q, \! `. Z3 a' D5 s除了底层架构的大变,三代锐龙(以及新一代霄龙)还采用了chiplet多芯片设计。虽然很多人称之为“胶水”,但是在如今摩尔定律前进迟缓、半导体技术提升艰难的情况下,这其实是非常明智的选择。
8 s0 K o1 L2 m4 i3 D# z一方面,它可以减轻架构和工艺压力,不同IP模块可以选择最合适优化的工艺,从而大大降低研发、制造成本,并提高良品率。
* Y3 Z; ]: V M6 q$ d; |另一方面,它可以灵活地配置产品规格和特性,针对不同市场提供最合适的产品,也能更好地提升峰值计算性能。% C& m" [( }0 B( E! @3 N
3 G+ n0 j& r) m' b8 H0 j7 P
6 L$ ]0 w F/ |2 a& A
对于多芯片设计,最关键的因素就是提高不同模块之间的通信带宽和效率、降低延迟,AMD为此设计了Infinity Fabric总线,无论AMD CPU还是AMD GPU,互连互通都是基于这种新型总线。" H/ Q) \+ ? y7 f x, e$ b
三代锐龙上,Infinity Fabric总线已经进化到第二代,在扩展性、延迟、能效各个方面都有显著提升。5 V3 j$ [- ?" X" r! `0 Y3 k
扩展性上,特别针对消费级客户端应用做了优化调整(之前更多还是数据中心上),并且总线宽度从256-bit翻番到512-bit,以支持PCIe 4.0,能效上则将单位功耗降低了多达27%。' D( x( r* Z' b4 n
延迟是多芯片互连的致命所在,一旦处理不好会导致整体效率的低下,包括核心、缓存、内存等各个模块都必须保持最高效率和最低延迟,比如新一代Infinity Fabric采用了总线频率、内存频率分离式设计,保证可以达到更高频率和尽可能低的延迟。. a! \1 {+ h' N8 t& s" ^
$ b8 y& R9 b/ k& O: Z
三代锐龙的基础模块仍然是CCX(CPU Complex),每个CCX里有4个物理核心、16MB三级缓存(比二代翻番),同时两个CCX组成一个CCD(CPU Complex Die),也就是我们看到的每一颗CPU芯片。# }: H5 n: T8 w& y5 ]
单独的I/O Die则集成了输入输出控制中心、一体化内存控制器(直连内存),注意它的制造工艺是12nm。3 d1 F7 B( s- d* u
每个CCD有各自的Infinity Fabric PHY物理层,通过它和I/O Die芯片内的数据总线(Data Fabric)进行高速互连通信——注意两颗CPU芯片之间没有直接通信,都要经过I/O Die,这样可以保证不同核心、缓存之间的延迟是一致的。( P4 a4 }" S2 X z

7 i. c. W; p' A9 S, o" x4 c得益于新架构和新工艺,三代锐龙的每个CCX模块面积仅为31.3平方毫米,相比二代的60平方毫米缩小了足足47%,这也是同样封装下核心数量可以翻番的主要原因。
7 [8 t; C. j/ x. s3 Y x% w同时AMD也避免了一核有难、多核围观的尴尬局面,从6核心12线程到8核心16线程再到12核心24线程,多线程提升几乎是线性的(每一个核心和线程都充分释放),达到了几乎完美的98%。
% s' g( c# k# I6 D
' D* v7 ?& Q, @2 p! y! N6 B4 |! C比性能提升更让人激动的是能效,比如锐龙7 3700X相比锐龙7 2700X,绝对功耗从195W降低到135W,结果就是CineBench R20多核心跑分的能效(每瓦性能)提升了多达75%。8 x2 G7 V& B! e6 m

9 b( L) k) A5 q, a+ y; A: [能效提升如此之多,新工艺新架构自然功不可没,也大大带动了频率,Zen、Zen+最高可以分别达到4.1GHz、4.35GHz,Zen 2则来到了4.7GHz(16核心的3950X),同时大大降低了达到最高频率所需的最大电压。" |8 r X! U9 P

/ F7 N: ]8 U) h$ |Zen架构的内存延迟一直不是很好,但也一直在改进,Zen+就有了明显的变化,Zen 2更是进一步降低最多达33ns,而且支持更高的DDR4内存频率,从2667MHz到3600MHz游戏性能可提升5-10%甚至更多,而翻了一番的三级缓存更是让Zen 2有如神族,游戏性能可提升10-20%。$ A' f, u y9 \7 P* A0 U1 n' s
说了半天,Zen 2架构设计呢?鉴于这些内容过于深奥,我们刚才先讲了新架构的效果,接下来就分享新架构的内部设计,只说一些最关键的、最容易理解的地方,感兴趣的可以细细研究架构图,或者等待后续的技术白皮书。# h. K0 i2 T( C$ d O
. ^" [9 C* r/ \, b! q* d
; u* h" ?( m2 d
Zen 2架构总览图和核心新特性,特别注意新的TAGE分支预测器。AMD这次采用了chiplet都芯片设计,而为了协调分散的不同模块,不但有加强版的Infinity Fabric总线,不但有翻番的三级缓存(提高命中率),还特别强化了分支预测,从而将预测错误率降低了大约30%,使得处理器可以花更少的时间完成前端分派工作,提高效率的同时也能节省功耗。
, \( n* x0 n) p6 V缓存结构也有极大调整,支持各级缓存一致性,大大降低有效延迟,加入新的缓存指令。6 [: Q; q5 i% f& l% S% P8 S8 S) [ D
其中,一级指令缓存从4-way 64KB调整为8-way 32KB,和一级数据缓存保持一致,关联性更强,预取和利用率都得到改进。5 m6 @+ N* q$ {) `6 x# w8 y! I- k% L
二级缓存保持每核心8-way 512KB不变,三级缓存则翻番到了每核心对应4MB,可以很好地提升游戏性能。4 x0 M9 }: `" b; B
其他方面:翻番的4K微指令操作缓存、四个整数单元和三个AGU地址生成单元(之前是两个)、每时钟周期三个AGEN/两个载入/一个存储、浮点单元翻倍支持单操作AVX-256、更快的虚拟化安全、硬件增强安全防御,等等。( \- N6 w: F/ s( `# ?
7 E! |% S7 P4 W

' @# P2 Z+ S4 b+ g, L3 u+ W
7 h1 j l9 B c6 ^# g4 H" W
9 B4 V( o6 p1 t- b# S) l6 U 3 W _% ]- l8 ^! l3 e! [
- I f, o9 d) |& u; P1 {: o6 K

6 [% G/ i) g+ {! t: p& U7 O
5 h' A1 j9 E2 i" z6 h" W0 Q
. k3 n3 h$ F1 X8 n . ~0 D+ i8 J$ e; I5 _
3 a- F+ v9 |+ f% J
以上是Zen 2前端、预取、解码、浮点单元、整数执行、载入存储、缓存、安全等几乎所有模块的改进,可以看到几乎每一处都得到了全面强化和革新。! v& t, n6 u- f( a/ [/ y

/ y. E5 O( h2 g; m' y2 U/ Z4 j; ^安全方面,Zen架构诞生后爆发了大量的安全漏洞威胁,幸运的是Zen对于Meltdown熔断等诸多漏洞以及部分Spectre幽灵漏洞天然免疫,补丁都不需要,同时可以通过固件更新、系统补丁等修复受影响的Spectre幽灵漏洞。
+ @1 l* Z& J+ v! ?/ `: n( @0 r yZen 2则在设计之中就从硬件层面防御了Spectre幽灵漏洞,不但绝对保证安全,也不会因为打补丁而导致性能损失。
1 r2 a( h" A+ T# m! Z( D9 z以上就是AMD Zen 2架构在设计上的革新,以及结合7nm工艺带来的众多飞跃,至于实际产品表现,稍后分享官方性能数据,然后7月7日首发评测见!4 w2 p& X" m* Q
K& n+ v6 O2 w3 g9 ]! c
来源:http://www.yidianzixun.com/article/0MFEMhfv/ [7 E0 h1 [7 Z @/ `
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|