前言
祝极速空间的读者们2023年新年快乐,此文献给热爱学习的你,今天,站长将带大家去看看十二年里CPU世界里发生的七场争夺赛,共同倾听科技跳动的脉搏!
正文
中国队踢足球能否打赢阿根廷?还是有可能的,11个人不行,咱就上21个人,实在不行上31个人啊,阿根廷采用4-3-3阵型,我们可以10-8-6,剩下7个人全部当守门员。什么?还是输了?那就再上30个人,用人把球门里面堆满。
足球比赛的最高荣誉是“大力神杯”,比赛的基本原则是“公平”。
CPU比赛的最高荣誉是“效率之杯”,同理,为了公平,需要在“相同的核心线程数量、相同的频率、相同的环境“这个三个“相同”的基础上进行较量。
AMD和英特尔每年都要举行“效率大战”(也可以称为:IPC大战)。冠军,则意味着最聪明的大脑,不仅会带来更多的利润,更是代表一种至高的荣誉。
“IPC”到底是什么?如果把CPU看做金庸小说里的侠客,IPC就相当于内功。而核心数量,大概就相当于有多少只手脚。
真打起架来,手脚并用且招数华丽,也难言胜利,内功的高低往往起到决定性因素。
所以,每次微架构更迭,两家都要“官宣”一个“IPC提升百分之多少”。但注意,IPC(Instruction Per Clock)虽然有着公认的定义——CPU每一时钟周期内所执行的指令多少。但却没有一个权威的、统一的测试和计算标准。
例如:英特尔在介绍SUNNYCOVE架构的时候,表示IPC提升了18%,是基于SPEC 2016、SPEC2017、SYSmark 2014 SE、WebXPRT和Cinebench R15的测试,并特别指出"any change to any of those factors may cause the results to vary",即任何测试相关的因素发生变化,都可能导致结果发生变化。如果所用的测试软件不同,环境不同,对象不同(比如选取的核心数量),IPC提升的数值都是不一样的。
AMD对于IPC增幅是这样计算的:
在对ZEN4的介绍中,官方宣称ZEN4的IPC相对于ZEN3提升13%,这个数值是在固定4GHz八核心情况下,通过22个项目对比Zen3得出的平均结果。
由此看出,英特尔和AMD对于IPC的计算标准并不一样。
这如同AB两所学校,尽管每年他们都宣称自己的学生成绩又进步了多少,但问题是,两家用的考卷不一样,我们很难去判断,AB哪所学校更好。
我们要研究的,是采用一套统一的标准,来考察效率的进步,以此来判定英特尔和AMD的历代产品到底哪个好。
选取的研究样本如下:
酷睿一代:i5-760、i7-920
酷睿二代:i5-2400、i7-2600K
酷睿三代:i7-3770、i7-3770K
酷睿四代:i7-4770、i7-4770K
酷睿五代:i7-5775C
酷睿六代:i7-6700、i7-6700K
酷睿七代:i7-7700、i7-7700K
酷睿八代:i7-8700K
酷睿九代:i7-9700KF、i9-9900KF
酷睿十代桌面版:i5-10600KF、i7-10700KF
酷睿十一代桌面版:i5-11600KF、i7-11700K
酷睿十一代移动版:i7-11800H
酷睿十二代:i5-12400F,i5-12600K,i9-12900K
酷睿十三代:i5-13400F,i7-13700K
挖掘机系列:A12-9800
锐龙一代(ZEN):R5-1500X、R7-1800X
锐龙二代(ZEN+):R5-2600X、R7-2700X
锐龙三代(ZEN2):R5-3600X、R7-3700X
锐龙四代(ZEN3):R5-5600X、R7-5800X
锐龙六代(ZEN4):R5-7600X 、R7-7700X
注:以上样本,若未特殊指定,皆不区分桌面和移动版。移动版由于受到功耗散热等限制,用实测数据来计算IPC增幅有很大偏差。酷睿11代移动版的增幅,是以官方公布的幅度计算,这个标准和站长采用的并不相同,仅供参考。
上图反应了英特尔和AMD处理器的多核效率递增,记录了两家十二年的恩怨,具体来说有七场比武。
第一场“悲农之战”
时间:2011年10月~2017年1月
结局:英特尔胜利,用望远镜都没看到对手。
AMD于2011年10月推出了“推土机”处理器架构,后来又陆续发布打桩机、压路机和挖掘机(Excavator)架构,一直到2017年2月第一代ZEN发布的这一个时间段,俗称“农机时代”。
对AMD来说,这是一段悲伤的时光,内功十分可怜。
挖掘机是农机家族的大哥,刚出道时自负年轻力壮,跑去挑战英特尔当家主力。结果刚跳到擂台上,就被酷睿六代的内力震飞十米开外,七窍出血,大家紧急拨打120才捡回一条命。
伤愈后,挖掘机心想:酷睿六代这小伙子打不赢,干脆找个老人来出出气。于是跑到酷睿一代的武馆去闹事。结果对方只用一拳,挖掘机就口吐白沫,笔挺挺地躺在地上。要知道酷睿一代发布于2008年,相当于20岁的年轻人打不赢60岁大爷。
第二场“转折曙光”
时间:2017年2月~2018年3月
结局:英特尔胜利。
锐龙一代是个转折点,IPC直接超越酷睿四代。由于缓存和内存延迟较高,还不能直接抗衡英特尔当期主力队员酷睿七代。
第三场“天湖游龙”
时间:2018年4月~2019年4月
结局:英特尔胜利,但吓了一大跳。
龙,是锐龙二代(ZEN+),天,是天湖(Sky Lake)。
ZEN+对战酷睿七代,IPC的差距缩小到不足7%。双方对掌,英特尔退了两步,AMD退了三步。锐龙的效率飞跃式提升,让英特尔暗自心惊:这家伙的内功,刚猛十足,持续性稍差,假以时日那还了得。
注:酷睿6~9和10代桌面版,各代虽然核心代号不同,但微架构本质上仍然是Sky Lake。
第四场“飞龙盖五代”
时间:2019年5月~2021年2月
结局:AMD胜利
龙是锐龙三代(ZEN2),一条龙打败酷睿6~9和10代桌面版共计五代产品,英特尔狼狈不堪,怪谁?只能怪自己,IPC原地踏步。(注:酷睿十代10代移动版的情况比较复杂,里面有老架构,也有新架构,这里略过)
第五场“难分难解”
时间:2021年3月~2021年9月
结局:双方打平
AMD ZEN3和酷睿11代哪个厉害?结果有点意思,它比酷睿11代桌面版要高大约3%,比酷睿11代移动版低2%(注:这里的ZEN3是指桌面版,移动版ZEN3效率要略低于桌面ZEN3。)
一高一低,打得难分难解,比赛第一次出现了“平局”,原因是酷睿11代桌面版和11代移动版微架构不同。
第六场“混沌开启”
时间:2021年10月~2022年8月
结局:英特尔胜利
江湖最厉害的内功心法是“混沌元气”,其手册已经失传了百多年,机缘巧合被英特尔寻得。此心法据说共有十个层次,第一层可以将软质布料震成粉末,第二层可在指间汇聚10万伏特高压,人体一碰即焦糊。第三层可在双掌之间溶解金属,练到第四层次则可手抚硬盘对其进行低级格式化......第十层次能用意念修改周边生物体的DNA,对其进行基因编辑。截止目前的酷睿13代,也仅仅练到第一个层次。
交手第一回合,ZEN3全身衣服即被混沌元气震成粉末,瞬间赤身裸体,好不狼狈。
AMD虽然出了丑,但已经领略到了混沌元气的初级心法,宣称将在ZEN5也采用混合架构,IPC将有30%的恐怖提升。
第七场“小碎步的微笑”
时间:2022年9月~现在
时间:英特尔胜利
迈着小碎步,酷睿来到了13代。AMD的ZEN4虽然向前迈进一大步,仍然以小分落败。酷睿13代继续享受鲜花和人们的赞美,但只能勉强挤出一点点微笑,因为它知道,自己尚未练到混沌元气第二层,效率之王的皇冠,还能戴多久?
由于计算方法不同,站长的数据和官方有一定差异。
AMD这边——
从挖掘机到ZEN,增幅为79%,官方为52%
从ZEN到ZEN2,增幅为29%,官方为29%(注:在一次新闻发布会中,AMD提供了一份与IPC相关的整数及浮点混合的DKERN + RSA测试,Zen架构的IPC性能是3.5,Zen2架构的测试结果是4.53,相比之下Zen 2架构提升了大约29.4%。上图的15%估计是相对于ZEN+且计算标准不同)
从ZEN2到ZEN3,增幅为16%,官方为19%
锐龙五代(ZEN3+)目前仅有移动版,未纳入对比。
从ZEN3到ZEN4,实测大约为8%,图中采用了官方数据13%。
英特尔这边情况是:
从酷睿6~10代桌面版提升0%,官方未提及。(注:试想,英特尔会宣布“咱最新一代处理器IPC提升为0%“吗?不过这里的0%并非是一个绝对的零,站长查阅了一些资料,某些改进对IPC应该有一定的贡献,但影响的幅度很小。)
从酷睿10代桌面到酷睿11代桌面提升18%,官方为19%。
从酷睿11代桌面版到酷睿12代提升20%,官方为19%。
站长为什么不照搬官方公布的数据呢?
原因很简单,双方采用了不同的方法去计算IPC,就算在自家阵营里,各代的计算方式也都不同。我们需要采用统一标准去衡量增幅,在公平的规则下决出胜负。
那么,站长的计算靠谱吗?
因为各代的IPC相对值是从低到高逐一推导过来的,如果其间发生了较大偏差,则很可能会导致最终的结果出现较大偏差。
这样我们就可以换个问题——锐龙ZEN4的效率难道连酷睿12代都不如吗?
下面通过对比i5-12600K和R5-7600X的单核性能来探索答案。
判定原则:如果单核效率较高,那么多核效率也更高。(注:严格来说,在特定情况下,这句话并不正确,但在缺乏足够的实验条件时,我们不得不将其作为一条判定标准,否则就无法继续探索下去。)
对比:
i5-12600K ( 6P+4E P核3.7~4.9GHz)
PF单=1050,R20单=734,PR单=704
R5-7600X(6/12 4.7~5.3GHz)
PF单=1086 ,R20单=742,PR单=740
将i5-12600K的睿频换算到5.3GHz,则PF单应该为1135,R20单应该为794,PR单应该为761,较R5-7600X大约高平均6%。在V40版中,12代的酷睿多核IPC也高于ZEN4 ,单核和多核处于合理地同向提升,符合前述的判定原则。
注:由于AMD 7000系列没有E核,这是用12代的P核对比之结果。
另外,可以对比i5-13600K和R7-7700X,根据实测,运用睿频折算,13代的单核同频下大约比ZEN4高6.5%,而13代的单核IPC仅比12代高了1%(见下),这个数据也可以验证上面的结论。
接下来探索另一个大家关注的焦点:酷睿13代较酷睿12代,IPC提升有多大?
对比:
i9-12900K(16核24线程 8P+8E,P核:3.2~5.1~5.2GHz,单线程最大5.2GHz L2=14MB, L3=30MB)
i7-13700K(16核24线程 8P+8E,P核:3.4~5.3~5.4GHz,单线程最大5.4GHz L2=24MB, L3=30MB)
二者P和E核数量完全相同,扣除频率差异后,i7-13700K多核IPC比i9-12900K高4%,单核IPC高1%,这个提升,主要是二级缓存容量增加和优化的预取器算法带来的。
结束语
看人不能只看外表,要看内在的人品。CPU也一样,不能只看有几个核心,频率有多高,要看其是否更聪明,用专业的说法是“核心效率高不高”。
常见的CPU评测,比如八核对六核,或者核心数量一样但频率不同,这样的比赛是不公平的。
效率之杯和大力神杯类似,都是基于“公平原则”。最近的7场比赛,英特尔取得了5胜1平1负的战绩,到目前为止两家咬得很紧。
下一届比赛,双方将派酷睿15代和ZEN5上场,谁能获得X86的至高荣誉?
2024年揭晓答案。