對岸超硬核解釋AMD與intel架構差異 - 3C

Table of Contents

https://www.zhihu.com/question/303489757/answer/543505194
沒有高分低能的硬體,只有選錯了跑分和對應場景的關係的人
首先我用AIDA64的性能基準來說明一下

https://i.imgur.com/00eKLIV.jpg
你能看出誰高分低能嗎?你會發現CPU QUEEN/zlib是同規格下AMD與Intel接近,AES/Hash
是AMD明顯絕對優勢,VP8是多核沒什麼優勢/超執行緒負加成+Intel高主頻處理器有優勢
,julia/mandel/ray trace FP32/64是Intel絕對優勢,Sinjulia是AMD有較大優勢,CPU
PhotoWorxx是Intel優勢且超執行緒有負加成,至少從AIDA64這些項目來看,你不能說誰
高分低能,那這些差異是為什麼呢?

https://i.imgur.com/7sKbn5S.jpg

這樣一看很多人似乎理解了,Intel有優勢的項目全是AVX/AVX512項目,AMD最大優勢Hash
,AMD處理器都支援Hash加速指令,且擁有更大的加密解密執行單元,而FPU中Sinjulia是
AMD的優勢項目,而恰好80bit擴展精度的浮點計算無法使用SIMD指令進行優化,他使用了
更老的X87浮點指令和執行單元來執行
那有人要問了,這難道是指令集的問題導致了差異?其實指令集只是彙編語句的抽象概念
,只是告訴處理器該怎樣執行這些計算的一個顯式的概念,對應的背後是具體使用了何種
單元執行這些指令,處理器如何更快的將這些指令發射到對應的流水線來執行的問題。比
如Ryzen都支援AVX2指令,但觀察9700K/9900K相對2700X,同樣是8核規格,在AVX專案上
2700X都被拉開極大差距,這便主要是執行單元的巨大差異造成的

AMD架構
https://i.imgur.com/YQkBMhS.jpg

intel架構
https://i.imgur.com/ED62ZoD.jpg

Zen與Skylake系列的後端執行單元來看,AMD的埠多達10個,除去兩個AGU,實際執行計算
的埠有8個,Skylake則只有4個,其中VEC是執行SIMD指令的單元,它將負責AVX/SSE的指
令執行,AMD則是整數浮點分離,整數4個埠,浮點4個埠,咋一看AMD沒有任何劣勢啊,
Intel在執行浮點加法乘法將使用Port0/1的FMA單元提供的乘加計算,該單元在乘法加法
混合時如果有FMA指令則同時雙發乘加融合計算,即執行浮點加法時雙發射,浮點乘法時
雙發射,乘法加法同時混合使用FMA單元的FMA計算,也是雙發射(等效4發射),AMD的浮
點計算則沒有專用FMA單元,所以執行浮點加法是雙發射,乘法是雙發射,乘加融合是兩
個Mul+兩個Add一起上,相當於四發射,咋一看還是沒差別啊?但AMD不幸的是每個單元只
能執行128Bit SIMD的計算,Intel則是256/512Bit(Skylake-X)的SIMD計算,這樣同樣
是雙發射,Intel是2X256,AMD是2X128,自然也就被遠遠甩開,
而整數計算Intel的SIMD int加法依舊是VEC的單元來做,他是3個ALU來做int型的邏輯和
int加法計算,所以最高吞吐3X256,int乘法則屬於FMA單元的事情,他能實現2X256的吞
吐,AMD的int型邏輯計算由4個ALU執行實現4X128吞吐,int加法由其中兩個ALU執行,實
現2X128,乘法由其中一個ALU執行實現1X128,最後一個ALU執行除法,包括Intel都是一
個除法器,當然除法器Intel的移位元規模很高,實現了radix 1024,這也使得其在老式
圓周率計算super Pi中領先AMD相當多,總結如下


對比圖:
https://i.imgur.com/NVye51q.jpg

當然之前AMD沒能力做,一堆A粉想盡辦法掩飾,比如AVX沒用(沒用你還明明用著128bit
SSE指令集的寬度來支援AVX2),比如AMD考慮市場上支持AVX的少節約成本(這時不談擠
牙膏了,不給你是為了節約成本),然而Zen2就要把這個執行單元升級為256Bit了,顯然
之前的規模和工藝,AMD自身能力的不足,難以在14nm就像Intel一樣設計一個這麼大的計
算單元還跑出高頻(Intel),體現了雙方的差距

但是,AMD不是也有優勢項目嗎?比如Sinjulia,比如AES Hash跑分就很牛逼啊,CPU
queen也不差啊,而且如果執行128bit的SIMD,你Intel不也是2X128的水準?這樣不就差
不多了?
這就是另一個問題,比如CPU QUEEN是一個棋盤皇后(10皇后)問題,他指的是在10X10的
棋盤上擺放10個皇后且不能相互攻擊(皇后是橫豎加對角都能攻擊的),這個問題被認為
是分支處理的典型問題,這在日常中不是不常見,然而這裡有一個巨大的問題,那就是
AIDA64的棋盤皇后問題做了多執行緒的處理,而且由於基本不具備向量化並行優化空間,
這幾乎對AMDIntel來說就是個誰核多執行緒多誰厲害的項目,然而日常中這並不是一個簡
單的事情,更多時候一些分支的處理往往都還是單執行緒的,這讓超多核的處理器實際上
就出現了AIDA64跑分高但日常用不到的問題,同理,aida64上的AVX512專案,也面臨日常
用不到的境地,但好歹AVX512可以在密集計算領域發揮作用,密集計算的需求在如今越發
旺盛,CPU強化這方面性能顯然是對抗GPU的一個重要手段,在日常中可能就不能轉化為你
能看見的能了
Sinjulia代表的X87浮點更是如MMX一樣,基本是歷史垃圾堆裡的了,屬於基本只有古董軟
體才有,但是古董軟體也壓根很難支援你這麼多核,這也是AMD很多時候跑分高的原因,
使用老版本的跑分軟體,在標量執行單元和流水線設計如今趨同的今天,基本的ILP優化
水準都差不多的,能同頻差出10%已經很多了,所以AMD多兩個核跑分想低都難,但是實際
應用中這些老版本的跑分軟體對應的使用場景也很難有足夠多的執行緒調用,這也讓AMD
的多核性能不太容易在日常使用中發揮出來,好不容易有足夠多的執行緒支援的軟體,你
發現他居然支持了AVX,雖然AVX的利用率也沒有支援AVX的跑分軟體那麼高,但是這麼一
來一回,Intel本身同頻性能和主頻也高,依舊也就保持了優勢

而既沒有FMA指令支援的SSE程式,使用128bit SIMD和寄存器的程式,AMD自然是與Intel
五五開,如果你的使用環境的確是這樣,那AMD也不是低能,但是還是要考慮多執行緒的
支持程度,否則如果即使Intel核更少,但是你的程式連4核都利用不上,那在如今主流處
理器都已經4核以上的時候,大家都只跑4個核,那主頻更高更有優勢

當然伺服器講求多實例的吞吐能力,比如單個實例單個任務無法利用足夠多的執行緒,但
可以同時執行多個實例來充分利用這些執行緒,這樣也就發揮了多核的作用,但是問題在
於家用用戶很難有足夠多的併發專案來填滿超多核心處理器,往往普通使用者處理的是單
個實例或較少實例的負載,而且核心多使用多個實例來填滿硬體執行緒,還會面臨極高的
記憶體速率和容量需求


https://i.imgur.com/yNIrmxb.jpg

使用SPEC2006浮點Rate專案+新編譯器環境下(VS2017+ICC19)對9900X/9940X/7820X/金
牌6144進行了對比(SPEC2006在編譯器使用Qxcore AVX512的收益有限,所以我做
9900/9940的時候直接使用QxCORE-AVX2)
7820X 16執行緒,我設定了16個實例(Rate 16)來執行,安裝48GB記憶體,每個實例分
到3GB記憶體
9900X 20執行緒,我設定了20個實例(Rate 20)來執行,安裝64GB記憶體,每個實例分
到3.2GB記憶體
9900X 28執行緒,我設定了28個實例(Rate 28)來執行,安裝64GB記憶體,每個實例分
到2.3GB記憶體
雙路金牌6144共32執行緒,設定32個實例(Rate 32)來執行,安裝192GB記憶體,每個實
例分到6GB記憶體,同時每個實例分到的L3是6144最多(6144一共49.5MB L3),其次是
9900X(19.25MB L3),然後是9940X 19.25MB L3但是28個實例。7820X是11MB L3 16實例
,這些處理器的多核頻率都比較接近



實際上可以發現很多專案9940X的記憶體瓶頸極大,儘管他比9900X多了40%的核心,頻率
也相近,但是有不少memory bound專案已經被9900X追上,而6144憑藉超大的緩存和記憶
體容量,基本放飛自我,只有少數記憶體瓶頸小的專案被9940X追上,這說明在講求多實
例的吞吐測試中,儘管有能力填滿所有核心與執行緒了,但此時記憶體性能也成為一個重
要指標,他會明顯影響性能的表現


至於AES和Hash,日常主要用於簽名,身份驗證,包括網頁,下載檔案的校驗,如果要執
行密集的AES/Hash計算,可能比較為人熟知的應用就是挖礦了,比如比特幣是SHA,門羅
幣是AES,而且最重要的是Hash雖然intel沒給主流處理器支援SHA(儘管SHA指令集極其加
速單元是Intel擴展的,被用於目前的淩動處理器),但是實際上可以通過AVX512 int單
元來執行HASH,實際上sisoftware給出的成績便是AES計算成了cache/memory bound,
Hash使用AVX512配合高記憶體頻寬配置,實際上Intel完全不輸AMD

https://i.imgur.com/Zk3TAOp.jpg

我直接拿我跑的9940X(全默認)與sisoftware的2990WX進行了對比,實際上跑分完全不
輸,不僅是加密解密不輸,其實像諸如多媒體(SIMD),科學計算等項目14核9940X依舊
超過了2990WX,,說AMD高分可以停停了

實際上只要還在2018年繼續更新的跑分軟體,都顯示AMD的優勢越來越小,因為
AVX/AVX512的支持越來越普遍,就連AMD最愛的CPUZ跑分,都在近日支持了AVX/AVX512,
還有3Dmark的新場景,就連刺客信條奧德賽還搞出了不支持AVX不能進遊戲的問題

https://i.imgur.com/YRQKCO2.jpg

在都是預設頻率的成績下,2700X拿9700K來打都是浪費,當然SSE的分數還是很高的,比
7820X還高,可能這也是有人認為AMD高分的原因
而AMD市場宣傳最愛的R15,的確也是高分
https://i.imgur.com/z8bweVB.jpg

可問題是,我拿出R20跑了一下R15裡面的渲染場景,僅僅只是重新導入了這個項目,其他
沒有任何修改,

https://i.imgur.com/AjXK4O2.jpg

7820X 9秒完成,而使用R15足足掐著碼錶要20多秒,請問R15有什麼資格代表C4D的性能指
標?

C4D更是支持了embree外掛程式,而embree外掛程式最新的支持AVX512,未來C4D的新版隨
之支持也是理所應當的,而3DsMax,Conroa都有使用embree外掛程式用於光線追蹤和特效
處理的部分,這也是為什麼很多人發現AMD跑R15很厲害,R15出的時候本身壓根沒有任何
AVX支持,使用的embree外掛程式也是古董級的,但是跑實際自己用的新版本甚至8核不比
8700K快的問題

https://i.imgur.com/3t5bJgw.jpg

上圖則是blender最新的編譯測試版運行一個光線較多的渲染的一個性能分析器結果,可
以發現AVX FMA的使用已經成為了主要SIMD部分,256bit向量佔據了更高的比例,再拿什
麼avx用不到來說已經毫無意義,更不要說Intel已經在研究X265使用AVX512的問題了

https://i.imgur.com/XcWmz7a.jpg

最後便是很多人說的優化問題,首先Intel的軟體發展中心有數不清的優化參考文件,而
AMD的寥寥無幾也很難找到,似乎AMD認為反正我和Intel都是X86處理器,你優化好Intel
我就能跑的態度,Intel針對新處理器的parallel Studio XE套件,涵蓋計算需要的MKL
IPP DAAL ICC編譯器等工具,能無縫安裝進入VS,AS,eclipse,Xcode等多個平臺的IDE
,反觀AMD,出個AOCC,厲害就厲害在只能在Linux上用,而且參考資料少

https://i.imgur.com/spn8VPE.jpg

而且Intel儘管被嘲諷icelake看不到在哪,但是AIDA64的更新頁面一打開,你會發現ICL
將會提供用於使用256bit向量加速的AES指令集VAES已經被AIDA64性能測試進行優化了,
cascadelake的優化也存在了,而已經被AMD發佈的Zen2,看不到優化跡象,甚至
sisoftware也提供了對ICL VAES的支援,

https://i.imgur.com/bxtISdb.jpg

你以為是跑分軟體故意優化Intel不優化AMD?打開ICC編譯器的屬性選項,你會發現未來
架構的處理器都在優化範圍內,AMD推出AOCC For ryzen甚至要等到zen上市以後

https://i.imgur.com/14BhGIu.jpg

對比之下,AMD屬於活該優化不好,當然日常中的低能,無非就是AMD遊戲性能不好,這主
要是遊戲對記憶體延遲的要求,對主頻的要求高,至於多執行緒優化?你可以這麼理解,
等什麼時候遊戲能支持足夠多執行緒的平行計算了,AVX512可能也在遊戲裡跑了,到時低
能不低能和跑分有什麼關係?


------------------------------------------------

https://i.imgur.com/M9jEOXN.png

也許AMD永遠追不上INTEL是因為兩家指令集太相近
所以只有做法不同,沒有根本的太大差異
AMD也晚了十年還是要跟INTEL玩拉鋸戰

等你遊戲優化多核,INTEL也把AVX帶進遊戲了
INTEL無止盡軟體IDE支援,AMD AOCC吃大便
AMD注定失敗
ZEN的成功有一半是靠GG=AMD變相擠牙膏

晚十年,贏一點,玉不琢,不成器,AMD,狂烙賽

--

All Comments

Olga avatarOlga2019-07-08
好長
Olivia avatarOlivia2019-07-11
圖很靠北
Quanna avatarQuanna2019-07-11
C52最近在興奮啥
Hedwig avatarHedwig2019-07-13
喔喔 原來如此
Emily avatarEmily2019-07-14
Thomas avatarThomas2019-07-17
這篇文章是你寫的?不然怎麼沒文章來源?
Leila avatarLeila2019-07-17
翻譯:I或贏
Carol avatarCarol2019-07-18
所以我說那個出處呢?
Selena avatarSelena2019-07-19
來源?
Una avatarUna2019-07-23
硬核
Isabella avatarIsabella2019-07-26
那上代128bit AVX單位的Zen1來說嘴有個屁用
Dinah avatarDinah2019-07-28
Zen2已經翻倍成原生256bit的AVX單位
Franklin avatarFranklin2019-07-29
人家也已經有256bit的AVX了 下一個
Valerie avatarValerie2019-07-29
AVX512好棒棒喔 充滿哀皇滾燙的善液
Mia avatarMia2019-08-01
7/7準備被按在地上打
Hedda avatarHedda2019-08-05
2
Margaret avatarMargaret2019-08-08
先修INTEL漏洞後跑測試,再來說AMD沒贏很多 !!!!!!
Queena avatarQueena2019-08-11
知乎
Margaret avatarMargaret2019-08-15
字好多
Enid avatarEnid2019-08-16
Gary avatarGary2019-08-17
你想就說什麼?
Cara avatarCara2019-08-18
字好多,你好棒
Susan avatarSusan2019-08-20
不行,修了再跑會被法務盯上
John avatarJohn2019-08-24
Cara avatarCara2019-08-28
硬體軟體進步是相輔相成的,十年前的遊戲幾乎都是只
跑單核,能支援雙核就很了不起了。現在主流CPU六核
Andy avatarAndy2019-08-29
起跳,之後的軟體和遊戲會怎麼寫?
Andrew avatarAndrew2019-09-01
這篇想表達3小? ICC支援I家好棒棒? AVX好棒棒?(ato
m??) 加密SIMD算就好? zlib沒SIMD很爛?(不爽叫M$改
用LZMA啊) specFPrate? 測libq就好反正就ICC好棒棒
Anonymous avatarAnonymous2019-09-06
第一張圖解析度640*116 是要我看個狗屎爛蛋
Michael avatarMichael2019-09-09
直接end,字那麼多重點?
Dorothy avatarDorothy2019-09-13
AVX512再強 價格烙賽也是沒人要買
Joe avatarJoe2019-09-15
大推這篇,沒AVX512好意思在那邊吹,看了都幫A粉尷尬
Carol avatarCarol2019-09-16
延遲高到爆錶,全核心頻率大烙賽,不懂在吹捧啥
Annie avatarAnnie2019-09-20
遊戲依舊intel強勢,軟體依舊只對intel優化,A粉哭哭
我慢慢看會不會有fps比賽用高延遲Ryzen啦笑死
Liam avatarLiam2019-09-21
暑假到了
Edith avatarEdith2019-09-23
說的好像intel目前市售的CPU都支援了avx512一樣
Brianna avatarBrianna2019-09-24
整天吹AVX512 有夠北七XD
Emily avatarEmily2019-09-24
說的地表最強遊戲CPU 9900k支援512一樣,並沒有
Kristin avatarKristin2019-09-28
Amd市場宣傳最愛的r15?哀蝗自己之前也在跑r15,文
章有夠偏頗
Tracy avatarTracy2019-09-30
能講中文嗎
Jacob avatarJacob2019-10-04
9900k確實不支援www
Ida avatarIda2019-10-07
說得好,9900K依舊最強遊戲U,AMD超高延遲糞U遊戲慘輸
沒支援都屌打AMD,下一代10nm支援甩到天邊
Elizabeth avatarElizabeth2019-10-07
沒有AVX512的9900k也能吹www
Hedy avatarHedy2019-10-08
果然C52是A粉 故意讓大家知道9900K不支援AVX5121
Sandy avatarSandy2019-10-10
根本不用吹,i皇CPU好大家都知,A粉輸不起才一直吹
Ingrid avatarIngrid2019-10-11
不就723整天吹INTEL多棒,自己都不買
反串很噁心
你的9900K支援AVX512 PO張圖好嗎
Ursula avatarUrsula2019-10-15
文組反串和理組反串程度有差
Ingrid avatarIngrid2019-10-18
沒AVX512好意思在那邊吹9900k,看了都幫I粉尷尬
Zenobia avatarZenobia2019-10-22
我猜723根本沒看懂
Wallis avatarWallis2019-10-23
太長
Isabella avatarIsabella2019-10-27
懶人包(也許):工作選amd 電競選intel
Bethany avatarBethany2019-10-27
723看得懂的話才是電蝦福音好嗎...
Linda avatarLinda2019-10-28
嚇死我,我還以為是C52實際測試
Sandy avatarSandy2019-10-30
先推再說 免得別人以為我看不懂
Frederica avatarFrederica2019-10-31
來源咧
Ina avatarIna2019-10-31
字好多
Andrew avatarAndrew2019-11-03
延畢了嗎?
Ina avatarIna2019-11-04
怕了是吧 不然最近幹嘛這麼活躍
Margaret avatarMargaret2019-11-04
之前i穩贏的時候沒這麼多a黑文,現在這趨勢真的表
面a贏面大不少
Hazel avatarHazel2019-11-11
i皇消費級根本沒給AVX512,粉絲亂吹捧
Harry avatarHarry2019-11-16
版上A黑也才四個ID而已
也沒啥趨勢XD
Quanna avatarQuanna2019-11-16
C52 723 PXHOME U大濕
Eartha avatarEartha2019-11-21
牙膏不是亂喊的 今天A沒出來我看牙膏還會在I7 4c8t
AVX1裝死
Elizabeth avatarElizabeth2019-11-24
先把這三個修完spectre meltdown spoiler
再跑分哭好嗎?
John avatarJohn2019-11-26
Kuni大 你少了一個A啊
Linda avatarLinda2019-11-29
阿對阿 XD
Queena avatarQueena2019-12-03
縮減到20字再發文==
Ina avatarIna2019-12-06
不過c52讀113,應該對微處理機有相當的研究吧?
Belly avatarBelly2019-12-09
這個世上不只有113
Daph Bay avatarDaph Bay2019-12-11
68樓正解,A黑大將軍紅起來
George avatarGeorge2019-12-12
粉粉快幫AMD買出一片天,我就會關注了。
Anthony avatarAnthony2019-12-15
高材生是不是很窮?天天吃X
Michael avatarMichael2019-12-17
聽謠言說新的不知哪代消費型有出AVX512。大概要讓
開發者使用AVX512 SIMD大法!
不然只能用用牙膏SDE/pintool之類的 不好用!先搶先
贏新筆電死活要有AVX512~不綁軟體就不就牙膏XD
Kama avatarKama2019-12-22
52 壞了?
Puput avatarPuput2019-12-25
不綁軟體就不叫牙膏 XD
Jessica avatarJessica2019-12-27
阿不就好棒?
Agnes avatarAgnes2019-12-29
都還沒開賣就找文章來唱雖,是不是很慌啊
Lauren avatarLauren2019-12-30
你拿一個2018/12月的文章到底有多可撥
Tracy avatarTracy2020-01-02
這文章真的無法支持你
Kyle avatarKyle2020-01-02
因為你發錯時間 如果是年初 我會覺得你很棒
Catherine avatarCatherine2020-01-06
喔喔 這篇文是用蘇媽家的TR發的嗎?
Oliver avatarOliver2020-01-10
挖靠 連這種一知半解也拿來高潮
你沒打算念研究所了?
Adele avatarAdele2020-01-14
看到52那麼認真在幫AMD加分,本應該推一個,但我覺
得你這樣太辛苦,還是決定一噓
Jack avatarJack2020-01-18
WC夫妻檔
Megan avatarMegan2020-01-23
跟723一樣可憐
Olive avatarOlive2020-01-26
可憐
Tristan Cohan avatarTristan Cohan2020-01-27
真煩
Agatha avatarAgatha2020-01-31
好文
Zenobia avatarZenobia2020-02-02
廢話怎麼這麼多
Kelly avatarKelly2020-02-03
看到水球文就生厭
John avatarJohn2020-02-06
圖片720px × 130px是要我看洨逆