AMD推土機架構回顧:雖隕落卻是Zen成功的墊腳石

就在昨天AMD第二代執行緒撕裂者旗艦Threadripper 2990WX外觀正式解禁,AMD官網也揭露了其部分性能,得益于其擁有高達32個核心64個執行緒,Threadripper 2990WX輕鬆拿下了消費級市場CPU之王的頭銜,此前坐在王座上的i9-7980XE被輕鬆秒殺,可謂一時之間風光無限。

但俗話說的好,現在有多風光,以前就有多折墮(落魄的意思),AMD也不例外。就在2年以前,AMD還是一個被Intel無視的對手,產品性能與Intel有巨大的鴻溝,股價最低時僅為2美元出頭,瀕臨破產。AMD會這麼落魄,其中一個很主要的原因是因為當年推出的Bulldozer,推土機處理器微架構

就在前兩天,國外媒體ExtremeTech就總結了至今為止最糟糕的10款CPU,其中推土機(Bulldozer)進入了前三甲的位置,由此可見推土機的失敗,是一個比較公認的事實

今天,在Threadripper 2990WX意氣風發的日子,PConline曉邊就帶領大家回顧一下當初AMD這個失敗的架構,看看它從誕生到落幕,作為一個失敗者的故事。

推土機的誕生:背負復仇的使命

AMD是一家富有冒險精神的公司,雖然他的營收規模僅為Intel的1/10,但其敢於在在HT匯流排、DDR記憶體、多核處理器等技術做創新,本世紀初憑藉K8架構,其處理器在ipc和效能上大幅領先奔騰4,在這段時間裡Intel被AMD“教做人”。但Intel畢竟還是CPU界的大哥,豐厚的財力規模、海量的人才儲備、巨大的業界影響力和與OEM核心夥伴堅固的關係都成為Intel翻盤的資本。

終於,在2006年,Core系列處理器一鳴驚人,首批推出的Core 2 Extreme 6800和Core 2 Duo E6300都顯示出了無與倫比的效能。不僅超越上代產品40%之多,在功耗發熱上的表現也讓人瞠目結舌,Intel的產品完成看一次華麗的逆襲。如果說Core首批推出的處理器型號是為Intel吹響了反擊的號角,那麼以Nehalem為架構的Core i系列處理器,則徹底奠定的Intel後來13年稱霸CPU市場的基礎。

2008年11月,Intel發佈了Core i7 965E/920處理器,原生四核心,內部整合記憶體控制器、使用了打破記憶體頻寬傳輸瓶頸的QPI匯流排架構和HT超執行緒技術,憑藉異想天開的Turbo睿頻加速技術將處理器的能耗比提高到了極致,酷睿處理器的發佈是一個劃時代的改變,它令人信服的KO了AMD當時的K10架構處理器,逼迫對方只能依靠性價比或者“開核”等騷操作才能在市場佔據為數不多的份額。

嘗到成功的甜頭,AMD自然不會這麼輕易接受失敗,為了改變市場局面,AMD傾盡全力的投入到下一代革命性架構的研發當中,並在2011年推出了第一代推土機處理器,但當時誰也沒料到,推土機架構處理器的推出,是AMD在CPU市場徹底潰敗的開始。

2推土機的架構:模組化推土機架構:尷尬的“革新者“CPU的微架構與製作工藝直接決定了CPU的效能,優化微架構與更新製作工藝成為CPU廠商提升CPU效能的最重要途徑,推土機架構便是當年AMD嘔心瀝血做出的CPU微架構。

 

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

早期AMD在宣傳推土機架構時提出了不少的創新點,概括起來有1、全新模組化設計,更高效、核心擴展更容易。2、32nm SOI製作工藝,功耗控制更為出色。3、全新多執行緒架構,多執行緒運算性能更強。4、指令4發射(K10只有3發射)與AVX指令,整數/浮點運算更強,單核心性能提升。5、第二代Turbo Core技術,更好適應各種應用環境。

其中推土機架構的核心基礎和靈魂,就是模組化設計。大家都知道傳統意義下CPU擁有更多的物理核心,性能會更強,但是成本也會更高,也因此Intel在酷睿處理器上應用了SMT技術,也就是超執行緒。SMT可以讓一個CPU核心的多個執行緒共用資源並同步執行,硬體上幾乎不需要增加成本,不過效能肯定沒有更多的物理核心來的強。

 

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

AMD“推土機”微架構

AMD為了平衡成本和多執行緒效能的問題,獨特的推出CMT技術。AMD在“推土機”上把兩個核心及相關單元封裝成一個模組,兩個核心共用一個浮點運算單元,但每一個核心都有完整的整數運算單元,FX-8150由四模組組成八核心,浮點單元實際上只有四個,以往CPU是每個核心一個浮點單元的。這樣四核心由雙模組組成,六核心由三模組組成,如此類推。採用模組化設計的好處是可以減少冗餘電路,堆砌CPU核心更容易,這在當時真的是一個天馬行空的創意。

AMD把這個稱為CMT物理多核,也因此,與其說推土機的8核CPU叫8核處理器,筆者曉邊更願意稱它做4模組8執行緒器,因為它每一個”核心“其實都是不完整的殘疾核心,並沒有單獨的浮點運算模組,但這樣做的好處就是,CPU以相對較小的成本,獲得了8個完整的整數運算單元,高端處理器才擁有的8個執行緒。

AMD在推土機這樣設計,其實原因有三個:其一是是他認為目前CPU中超過80%的運算都是整數運算,增加一個整數單元的好處是顯而易見的,用增加5%的核心面積的微小代價即可換來80%的整數性能提升,而浮點運算在未來則可以交給GPU負責,這樣更加高效。其二是在未來,通用運算會持續向多執行緒發展,對執行緒的要求是無限的。其三是未來大幅提升CPU頻率是可以實現的,這可以彌補處理器單執行緒羸弱的問題。

AMD的賭徒企業風格在推土機的研發設計中體現的淋漓盡致,他在未來處理器發展方向上打了三個賭,可惜的是在當時沒有一個賭對了。

 

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

8核推土機架構

搭載四個模組八個執行緒的高級桌面處理器有大量的整數執行緒富餘,但大多數用戶的工作量仍然沒法被平均分配到八個執行緒上去(簡單的說就是大多數程式多執行緒優化不好)。單執行緒的運行依舊佔據了用戶絕大多數使用的使用場景。

另一方面,浮點單元的共用意味著充滿浮點算術的應用程式就沒有足夠的運行資源。雖然基於GPU的計算在一些特定工作中非常重要——比如科學超級計算——但主流應用程式還是更依賴CPU來做浮點運算。

推土機的架構帶來了處理器單核性能的倒退,甚至比不上自家上代六核旗艦Phenom II X6 1090T,更不要說去和Intel當時的SNB處理器比劃了。而在AMD的設想中單核性能的倒退能通過大幅提升處理器頻率改善,但是使用更落後的32nm制程的推土機處理器一味提升頻率,結果就是在功耗發熱方面成為大火爐(這種情況在打樁機時顯現的極致)。

這樣的設計造成的另一個結果就是,最吃浮點運算性能和單核性能的大多數遊戲表現中,推土機甚至不如”肥龍2“,只能在SNB處理器後面吃塵,這在DIY市場是致命的,畢竟大多數DIY玩家都是為了遊戲才去玩DIY硬體。消費市場不買帳,口碑逐漸崩壞,推土機架構的結局似乎已經可以預見。

3推土機的發展:農用機器系列處理器打樁機:不屈的挑戰者但終成笑柄

 

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

AMD當時CPU的發展 路線圖

AMD在推出推土機架構處理器後,市場回饋並不太好,但這畢竟只是第一代,也可能是市場和軟體環境還沒適應這個處理器中的新物種。於是AMD在第二年便推出推土機小修小改的版本,Piledriver打樁機架構處理器。與推土機相比,同為是模組化設計的“打樁機”核心改動主要體現在:1、新增FMA3、AVX1.1和F16C等新指令集;2、強化電源管理,降低產品功耗;3、一級、二級緩存優化;4、核心頻率提高,TDP保持不變。

 

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

AMD推土机架构回顾:虽陨落却是Zen成功的垫脚石

其中最主要便是這功耗的優化,這讓處理器在相同電壓下對比上一代有了10%左右的超頻空間。雖然當時以FX8350為代表的打樁機處理器使用的僅是格羅方德落後的32nm工藝打造,但得益於其設計較長的流水線,打樁機可以輕鬆超頻到4.5GHz以上,以至於當時坊間的A飯都戲謔的稱”性能不夠,超頻來湊“,”超一下,又不是不能用“。

為了把打樁機的性能發揮到極致,AMD當時甚至還推出了TDP高達220W,動態頻率可達5.0GHz的核彈FX9590,但其可怕的功耗和散熱供電要求,以及5.0GHz的單核性能僅相當於3.8GHz左右時的i7-4770K單核性能,都成為這款處理器走向主流市場,和讓消費者選擇它的掣肘。

FX9590僅僅是AMD發出不屈的怒吼,高頻的打樁機只能給AMD帶來大火爐的稱號,但仍然改變不了推土機家族失敗的命運,最後落得個”i3默秒全“的恥辱性頭銜。

打樁機的失敗讓AMD清醒的認識了自己,至此AMD放棄了CPU高端市場,轉而投身到另一個大坑異構運算的研發中(詳情可以點擊這裡跳轉相關文章)。此後AMD推出的Steamroller壓路機、Excavator挖掘機都僅應用在APU和低端處理器型號身上,重點都是降低CPU的功耗,提高處理器的能耗比。雖然這些低端APU產品在市場獲得不少消費者青睞,但消費者選擇它的原因大都是因為其高性能的核顯,甚至民間不少網友笑稱買APU是買GPU送CPU,買Intel的CPU則是買CPU送GPU。

AMD的CPU也在市場徹底失去了口碑,不管從市場還是性能表現等各個角度來講,推土機架構都是十分失敗的,甚至可以說被釘在了CPU歷史的恥辱柱上,以至於直到今天AMD也不敢啟用曾經象徵AMD最高性能處理器的FX尾碼,畢竟FX很容易讓人聯想到推土機系列處理器。

4推土機的影響:失敗是成功之母模組化設計:前人栽樹後人乘涼流傳比較廣的話語總是比較有道理,比如說失敗乃是成功之母,又比如說看數碼硬體資訊就來PConline。自推土機失敗以來AMD臥薪嚐膽,終於在2017年迸發出了令人驚訝的力量,在所有人事先不看好的情況下實現了逆襲,發佈了媲美酷睿i系列處理器的銳龍系列處理器,彼時,AMD自上一個巔峰已經過去了13年之久。

銳龍系列處理器,能一鳴驚人的原因,很大部分得益於的架構設計上還巧妙地採用了名為CCX(CPU Complex)的模組化設計方案。模組化這個字眼是不是很熟悉?你沒有看錯,模組化的設計理念雖然是推土機失敗的根本原因,但模組化這個詞並不是洪水猛獸,ZEN架構則是模組化設計理念下更成熟的產物。

雖然同樣採用模組化的設計理念,但是ZEN架構吸取了推土機的教訓,每一個核心都是完整的核心,並且大幅加強了浮點運算性能,在整數管線上,Zen有4個算數邏輯單位(ALU)和兩個位址產生單元(AGU)。浮點管線上,共用浮點單元的概念被廢棄了:現在每個核都有一對獨立的128位元乘法疊加運算單元(FMA)。

浮點單元內有分開的加法和乘法管線,用於在不進行乘法累積運算時應對更多樣的混合指令。但256位元AVX指令集還是得分開在兩個FMA單元上執行,並動用所有的浮點單元。最終結果就是Ryzen系列處理器對比推土機系列處理器在ipc方面有著超過40%的巨幅提升。

ZEN架構中一個CCX模組中有4個核心,每個核心擁有自己獨立的L1和L2緩存,一個CCX模組共用8MB L3緩存。每個核心都可以選擇性地開啟或者關閉SMT功能,也可以選擇性地關閉部分核心。相比於Intel的環形佈線,ZEN架構的帶來的好處是顯而易見的。在AMD最新的處理器佈局上,每一代從最高的伺服器EPYC到最低端的入門級Ryzen 3系列處理器,他們都只需要設計一個Die(內核),然後不斷堆疊即可,這對比Intel方面會省下不少的設計和流片成本,所以我們也能看到市場上同核心的Ryzen處理器售價會相比酷睿要低不少。除此以外,模組化的設計也讓CPU核心的增加像堆疊積木那麼簡單,執行緒撕裂者Threadripper 2990WX的誕生也是水到渠成的事情。

改善了推土機單執行緒羸弱,依賴高頻的缺點,並秉承著模組化的設計理念,相信未來通用運算依然對多執行緒的有著極大的需求,時隔6年後,AMD再一次依靠ZEN架構奏響進軍高端CPU市場的號角。

而在AMD依靠Threadripper 2990WX奪得消費級CPU市場王座的背後,是史上最失敗的處理器甘當墊腳石的結果。

總結

英雄總會遲暮,更何況推土機更像是一個傳統意義上的“狗熊”,但不管怎麼說,當推土機這些老前輩看到Threadripper 2990WX如此強大時,相信也會不留遺憾的離去,消失在歷史的洪流當中。而曉邊我,也只能以此文,紀念這款被I粉嘲笑,被A飯仇恨的處理器,為大家帶來它的故事。

 

消息來源

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.