《電子技術應用》
您所在的位置:首頁 > 電子元件 > 業(yè)界動態(tài) > AMD YES!背后不為人知的故事

AMD YES!背后不為人知的故事

2020-09-25
來源:EETOP
關鍵詞: AMD CPU

  AMD YES是近年來比較火的一句話,每當EETOP發(fā)布關于AMD的相關文章,也總會收到網(wǎng)友的AMD YES!的留言。從字面翻譯過來就是AMD真好,AMD真香的意思。AMD YES實際上表示了AMD近幾年來逐漸走向成功,也得到了大家的認可。

  那么為什么AMD 能達到今天的高度?最主要的功臣應當歸功于AMD Zen架構的成功。今天我們就為大家扒一扒AMD Zen 成功背后不為人知的故事。

  以下內(nèi)容來自中國臺灣科技新報的專欄作者:癡漢水球的文章。

  正文:

  自從2017 年AMD 準時推出「技術規(guī)格看起來稍微正常點」的Zen 微架構CPU 后,總算脫身逃離了2011 年以來推土機(Bulldozer)家族4 年工地秀的泥沼,回到跟英特爾正面對決互毆的擂臺,而2019 年7 納米制程的Zen 2,在英特爾2015 年后就擠牙膏擠到青黃不接的當下,更讓AMD「稍微」重現(xiàn)了十多年前K8 時代的輝煌。這些各位讀者都很熟悉的故事,就無需浪費篇幅錦上添花──即使背后充滿看不見的波濤。

微信圖片_20200925133518.png

微信圖片_20200925133524.png

  俗語說得好,失敗為成功之母,任何成功都建立在一路累積的基礎上,AMD 亦不能免俗,讓 Zen 成功的一切條件,無不是奠基于過往的遺產(chǎn)與教訓。我們就由遠到近,一步步抽絲剝繭,重新踏上這條 AMD 走了25 年的漫漫長路。

  Zen 才是真正的 K10

  AMD CPU 代號的 K 源自「(IntelPentium)Killer」,眾人皆知的 AMD 高效能 x86 CPU 演進如下(不包含小核心 Bobcat 體系):

  K5(1996):由超標量(Superscalar)架構大師Mike Johnson親自操刀的「Pentium Killer」,但英特爾并未開誠布公的公開Pentium新增指令細節(jié),為了確保與100%跟Pentium相容,逆向工程搞了很久,上市日期一再推后,讓癡癡等待的Compaq等的“花兒也謝了”。K6(1997):直接購并NexGen,修改現(xiàn)成的Nx686,取消類似Pentium Pro的L2 Cache專用總線,到內(nèi)建L2 Cache的K6-2+和K6-III才算大功告成,但已時不我與。K7(1998):出身DEC Alpha團隊的Dirk Meyer變成的「x86世界的Alpha 21264」,AMD首次能與英特爾全面性較量效能。K8(2003):Fred Weber主導的K7強化版+x86-64+服務器等級的RAS(Reliability, Availability and     Serviceability)+HyperTransport+整合型存儲器控制器,讓AMD悲愿成就,一舉攻入高獲利的企業(yè)服務器市場。K9:英文發(fā)音近似「狗」(Caine),太過負面,因此沒這個代號。K10(2007):4~6核K8強化版+整合式L3 Cache存儲器,AMD開始「包水餃」兩顆打一顆,也逐漸無力抵抗英特爾小步快跑的鐘擺(Tick     Tock)攻勢。K11(2011):由IBM Power4的總工程師Chuck Moore操刀,接連四代被英特爾鐘擺痛扁的「推土機」(Bulldozer)家族,叢集式多執(zhí)行緒(CMT)和模組化浮點運算器暗藏了AMD對Fusion大戰(zhàn)略的熊熊野心與對未來GPGPU局勢的離譜誤判。K12(預定2017):從頭到尾搞笑的「全新高效能64位元ARM處理器」,還沒開始就結束了,只活在簡報里,無愧當時「簡報王」名號。Zen(2017):深度流水線、追求高時鐘頻率、同時多執(zhí)行緒(SMT),根本是Andy Glew原先的K10原案投胎轉(zhuǎn)世。

  總之,嚴格說來,Zen 才是「真正的 K10」。這句話你可以仔細再看一次,我會等你。

  1990 年代初期創(chuàng)造英特爾革命性P6 微架構5 位總工程師之一的Andy Glew,對英特爾內(nèi)部提議代號「Yamhill」的64 位元x86 指令集被拒絕,2002 年跳槽到AMD 參與x86-64指令集的制定工作,并短暫擔任K10 總工程師。為何說「短暫」?他老兄原本提案的K10 是類似英特爾NetBurst 的設計:深度流水線、追求高時鐘頻率、未犧牲執(zhí)行單元寬度、同時多執(zhí)行緒(SMT),然后就又被打槍了,只是這次動手的換成AMD 高層。

  他老兄一不爽,又在2004 年跳回前東家英特爾,但恐怕運氣一直不太好,加入因太過「史詩級災難」(單核心晶粒面積213mm? 幾乎是Prescott 兩倍,TDP 又超過150W上看166W)而慘遭腰斬的Tejas 開發(fā)案。2009 年再度離開英特爾,歷經(jīng) MIPS 和 nVidia。瞧瞧LinkedIn 的個人介紹,現(xiàn)在正待在搞 RISC-V 的SiFive。

  為何真正的 K10 會沉寂這么久才浮上臺面?這跟 AMD 研發(fā)能量明顯遠不及英特爾、難以承擔精密復雜的微架構有很大關系,一顆當兩顆用的SMT 并不是便于開發(fā)驗證的東西。據(jù) AMD 在 1998 年申請的幾份專利文件,原始K8 有兩版,共同點只有一個:兩個簡單的「外寬內(nèi)窄」小核心,明眼人腦中應該馬上浮現(xiàn)推土機的雛型了。

  但AMD 大概是靠K7 和K8 日子過太爽了,遑論K8 讓AMD 大舉入侵高利潤、市場動量又很持久(意思是產(chǎn)品暫時輸人,也不會很快被趕出來)的服務器市場, 「先講求不傷身體,再講求效果」的維穩(wěn)心態(tài)作祟,或在2006 年7 月耗費54 億美元購并ATI 這件事,燒了太多錢,不得不節(jié)約研發(fā)經(jīng)費,遲遲不見全新后繼接班人。

  此外,AMD 融合 CPU 和 GPU 的「Fusion 大戰(zhàn)略」(The Future Is Fusion)也影響了 CPU 發(fā)展策略。AMD 過度樂觀預期GPU 的泛用化進程,認定假以時日GPU 將可取代CPU 的浮點或部分SIMD整數(shù)運算,讓推土機變成依附Fusion 的附庸,擺明當「天時、地利、人和」三者兼?zhèn)鋾r,直接用GPU 換掉兩個簡單整數(shù)運算核心共用的浮點運算器。

  不過推土機在商業(yè)競爭失敗,并不代表對之后Zen 的成功毫無貢獻,除了讓AMD 得到足夠「不能亂搞流水線前端」的教訓,讓分支預測與指令流水線拖鉤的解耦式分支預測器( Decoupled Branch Predicator)是支撐Zen 效能競爭力的一大功臣,甚至是Zen 2 可實做「機器學習分支預測器」的地基。各位別急,后面會提到。

  反過來利用晶圓代工商業(yè)模式來提高晶體管密度與生產(chǎn)良率

  AMD 創(chuàng)辦人 Jerry Sanders 有一句名言「有晶圓廠才是真男人」(Real men have fabs),在今日真是莫大的諷刺。

  雖然像英特爾和昔日AMD 的高度垂直整合IDM(Integrated Design and Manufacture)商業(yè)模式,可確保設計和制程彼此最佳化,但在追求Time To Market 的世界,專業(yè)的無晶圓廠IC 設計公司(Fabless IC Design House)、IP 授權提供者、電子輔助設計工具(EDA Tool)與晶圓代工業(yè)者(Foundry)的高度分工,卻更能藉由成熟的「研發(fā)供應鏈」互通有無,沿用早被諸多客戶千錘百煉的晶圓廠制程參數(shù)、現(xiàn)有IP 功能模組和函式庫,迅速完成產(chǎn)品的開發(fā)與驗證,并縮短時程降低成本。

  SPARC 兩位要角之一的Fujitsu,會在新世代HPC 產(chǎn)品A64FX 轉(zhuǎn)向ARM 并交由臺積電7 納米制程代工,其因在此,光曾被蘋果和眾多客戶「嚴刑拷打」的寶貴經(jīng)驗,對盡快搞定產(chǎn)品絕對是重中之重的無價之寶。

  這件事也發(fā)生在放棄自有晶圓廠的 AMD。K11 時代,AMD 反過來利用晶圓代工生產(chǎn)GPU 的高密度函式庫和自動化設計工具,砍掉多達30% 的CPU 芯片面積與耗電量,特別是過往「動用大量人力手工布線才能電路最佳化」的功能單元,如復雜的浮點運算器。「GPU 的電路設計最佳化程度優(yōu)于 CPU」這檔事,在21 世紀初期的 AMD 連想都不敢想。

  這些經(jīng)驗和努力,對 Zen 的成功絕對舉足輕重。就商業(yè)角度來看,這也讓AMD 未來保有開發(fā)新型商業(yè)模式的彈性,中國中科海光(Hygon)的Dhyana 就是采用授權的Zen 核心,當然美國政府愿意「樂觀其成」那又是另一回事了。

  「RISC86」與4 道 x86 指令解碼的先行者

  將指令格式與定址模式復雜到讓人頭痛的x86 指令,在指令解碼階段「轉(zhuǎn)譯」成一至數(shù)個固定長度、格式簡潔的「類RISC」微指令(Microinstruciton),以簡化處理器執(zhí)行單元與數(shù)據(jù)路徑的設計,利于提升時鐘頻率,并「將晶體管預算砸在最值得被加速的簡單指令,不常用到的復雜指令,就用微碼(Microcode)ROM 產(chǎn)生ROP 微程式慢慢跑」,已是20 年來x86 CPU 的共同特色,超標量架構大師Mike Johnson 領銜的K5 則是先驅(qū)(如果不限超標量,NexGen Nx586 則稍早),將非固定長度的x86 指令解碼成平均59 Bits 長的ROP(RISC86Operation,發(fā)音是「ar-op」)。

  AMD K5 還有個值得紀念之處:x86 史上首款單一核心最多可同時解碼4 個x86 指令的CPU,下一款是相隔近十年的英特爾Merom 了,不提尷尬的K11,AMDZen 更晚了自家「前輩」超過20 年。

  強化非循序指令執(zhí)行效率的兩段式微指令轉(zhuǎn)譯與「類VLIW」的微指令派發(fā)

  x86 CPU 的指令解碼器將x86 指令轉(zhuǎn)成微指令,看起來好像很美好,但隨著CPU 可同時非循序執(zhí)行的指令數(shù)量越來越多,「微指令洪災」就變成大麻煩,需要復雜的功能單元與相對應的電路成本,監(jiān)控管理一海票微指令的生老病死與相依性,這也不利減少CPU 功耗。

  在這就非得岔題談一談「首款雙核心服務器CPU」的IBM Power4 了,為縮減指令控制邏輯的復雜度,Power4 一次將5 個解碼后的指令「打包」成一個「一個蘿卜一個坑、每個指令垂直對應一個執(zhí)行單元」的超長指令(VLIW)包(一時腦筋轉(zhuǎn)不過來,可想一下AMD GPU 以前的VLIW5),里面5 個指令全部執(zhí)行完畢才能退返(Retire),控制邏輯單元只需管控相當于100 個指令的20 個指令包,這讓Power4 這部分電路規(guī)模只有前代Power3 的一半,且更便于拉抬CPU 時鐘頻率。

  AMD 則是從K7 開始兩段式微指令轉(zhuǎn)譯,指令解碼器先將x86 指令解碼一至兩個MOP(Macro-Operation),到了內(nèi)部要在指令保留站(Reservation Station)「派發(fā)」(Dispatch)到執(zhí)行單元前,再拆成更小的uOP(發(fā)音「ur-op」),接著才「真槍實彈上陣」,避免一開始就把微指令拆光光,淹沒指令管理單元,也變相將指令解碼器的復雜度分散到「大后方」。

  關于無法直接用「Fast Path」指令解碼器處理成 MOP 的復雜指令,由「Vector Path」的微碼 ROM 產(chǎn)生一系列MOP 微程式。前面就提過,所謂「RISC86」真正的精神就如同 RISC:把經(jīng)常用到的情況盡可能加速(Make The Common Case Fast.),將最佳化資源集中在最常碰到的刀口。

  同期英特爾的手段就讓人莞爾,起源于Pentium M 的「Macro-Fusion」,英特爾直接藉由增加指令保留站的運算元數(shù)量,削減CPU 內(nèi)部微指令的總量,例如用一個三運算元(a =b+c)微指令代替兩個(a=a+b),說穿了也稱不上什么「融合」,或還不如說「本來就應該這樣做」更貼切。

  相對英特爾從Merom 開始,指令保留站某些Port 擠滿了一堆不同性質(zhì)執(zhí)行單元的「爆漿撒尿牛丸」樣貌,AMD 那「整數(shù)浮點一邊一國的簡潔風」在「簡單就是美」的推土機展露無疑,非常「VLIW」,就算沒有像IBM Power4 那樣「指令打包送快遞」,但看在總工程師都是同一位如假包換的Chuck Moore 份上,企圖簡化復雜度以追求更高運作時鐘頻率與更高投資效益的意圖是一致的。

  盡管推土機家族的下場不是太好看,但類似理念也同樣被Zen繼承,反正各位只需了解一個殘酷的現(xiàn)實:畢竟AMD 的研發(fā)能量遠不如英特爾,不見得有雄厚本錢采取過于精密復雜的架構風格,此類「窮人思維」在AMD CPU 發(fā)展史上無所不在。

  眾里尋他千百度才秾纖合度的分支預測

  「電腦」(Computer)和「計算器」(Calculator)的不同點在于:電腦具備「條件判斷」的能力,依據(jù)不同條件,執(zhí)行不同指令流。各位可將電腦程式的運作流程,想像成一個「棋盤」,以一個角落為起點,對角線的角落當終點,在棋盤上反覆移動,不限制前進或后退。如發(fā)生條件判斷的分支(Branch,必須先等待條件判斷的執(zhí)行結果,才能判定該分支「發(fā)生」),或無條件判斷的跳躍(Jump),就會變更指令流,并中斷指令流水線運作,尤其前者傷害指令流水線化的CPU 效能,才需要「以古鑒今」的分支預測(Branch Prediction)技術。

  「過猶不及」的「分支預測」一向公認是AMD 落后英特爾的技術弱點,到了 Zen 才改觀。賈誼〈過秦論〉那句意謂秦始皇繼承六代功業(yè)的「奮六世之余烈」,套用到Zen看似突破性的分支預測技術,實在再適合不過了,在Zen 之前,剛剛好也是6 世代:K5、K6、K7、K8、K10、K11,有夠巧。

  因 K11 的分支預測技術和前代相比簡直徹頭徹尾大相徑庭,故不列于下表。

  一般我們談到的是「動態(tài)」分支預測,透過小型化 Cache存儲器,記錄分支行為的歷史,并隨時搜集各類參考資訊,動態(tài)的修正預測的結果。近年來拜「CPU 安全漏洞」所賜,「預測執(zhí)行」(Speculative Execution)、「非循序執(zhí)行」(Out-Of-Order Execution)和「分支預測」等技術名詞,變得非常熱門也經(jīng)常混淆。

  各位只要記得,對近代高效能CPU,「預測執(zhí)行=分支預測+非循序執(zhí)行」,CPU 根據(jù)分支預測的結果,先斬后奏「賭博」性執(zhí)行指令流,再藉由非循序執(zhí)行引擎維護指令執(zhí)行順序的一致性,以及當預測錯誤時,回復該分支前的處理器狀態(tài)。

  分支預測究竟有多重要?假如有一顆CPU 沒有任何分支預測機制(或說有,但總是預測錯誤),當執(zhí)行分支指令時,直到目標指令被擷取,所需要的時鐘頻率周期數(shù)「分支傷害」(Branch Penalty)是3 個時鐘頻率周期,分支占了程式碼五分之一,那會損失多少效能?

  3 * ? =0.61 / (1+0.6) = 0.625

  我們就可簡單推算出,平均執(zhí)行每個指令都會多出 0.6 個時鐘頻率周期,等于增加60% 執(zhí)行時間,執(zhí)行效能僅剩下 62.5%。

  很不幸的,這個簡單的案例還真的有倒楣的苦主:AMD K5的初版「SSA/5」(PR75 到PR100),因不明原因,分支預測功能被關閉,還「附贈」奇怪的CPU 閑置狀態(tài),「完全體」5K86(PR120 到PR200)的同時鐘頻率效能就硬是多了整整30%。讓人極度好奇,假若 Compaq 知道他們死撐著不用 Pentium,只為了等待這樣的產(chǎn)品,會做何感想。

  K5 的分支預測超級陽春,準確率僅75%。當連續(xù)執(zhí)行分支指令時,等于每道指令平均多 0.75 個時鐘頻率周期,沿用上面「分支占五分之一」的算法是 0.15,效能僅剩 87%,怎么看分數(shù)都不及格。但這時各位也應心知肚明,后期 K5 多出來的 30% 效能大致上是怎么來的,分支預測的確發(fā)揮了關鍵性作用。

  (75% * 0) + (25% * 3) = 0.750.75 * ? = 0.151 / (1 + 0.15) = 0.87

  購并NexGen 而來的K6 卻是AMD 史上罕見的「過度投資」,和K5 同為六階流水線、但最多只能解碼兩個x86 指令的K6,在分支預測暴力到整個過頭,足以傲視AMD 歷代CPU架構,但這是天大的浪費,況且分支預測越復雜,發(fā)生錯誤的回復時間也就越長,K6 的錯誤代價就硬比K5 多出一到兩個時鐘頻率周期(3 vs. 4 或5 )。

  K6 的分支預測準確率號稱高達95%,我們可推算出執(zhí)行每個分支指令只會多出0.2 到0.25 個時鐘頻率周期,「分支占五分之一」就0.04 到0.05,效能維持在95%到96%,遠勝過K5。

  (95% * 0) + (5% * 4) = 0.2(95% * 0) + (5% * 5) = 0.251 / (1 + 0.04) = 0.961 / (1 + 0.05) = 0.95

  不知道是不是針對K6「過度投資」的反動,或是覺得過于復雜的分支預測只會帶來反效果,AMD 在1998 年MicroprocessorForum 揭露K7 的神秘面紗時,最讓人意外的不是和DECAlpha 21264 如出一轍的「體格」,而是「Long Pipeline, But SimpleBranch Predictor」。

  面對外界種種質(zhì)疑,AMD 堅持「更精確的分支預測器只會帶來更復雜的設計、更多的預測時鐘頻率周期與回復效能損失」,還更大膽的將標準的2 位元Smith 演算法4 種狀態(tài),砍成只剩下3 種(將Strongly not taken 和Weakly not take 合為一種not taken)。對照K7 壓倒性的龐大執(zhí)行單元,在這種小地方偷工減料,真的是莫大諷刺,但更扯的還在后頭。

  演進自K7 的K8 與「壓榨K8 剩余價值」的K10,指令流水線更深,沒有擺爛裝死的借口,乍看之下「知恥近乎勇」亡羊補牢,但卻很精明的利用「L1 / L2 互斥性 Cache(ExclusiveCache)」的特性,趁著數(shù)據(jù)從L1 指令 Cache「被驅(qū)逐」(Evicted)寫入L2  Cache時,將分支選擇器「偷放」在L2  Cache存儲器包含指令的 Cache區(qū)塊之ECC 欄位,「節(jié)儉」至此,堪稱一絕。

  受制于不佳的分支預測精準度與「連如此簡單的整數(shù)核心都喂不飽」的L1 指令 Cache存儲器,甚少人注意到指令流水線深達20 階的K11,解耦式分支預測器(DecoupledBranch Predicator)早已默默為Zen 2 的「機器學習分支預測器」TAGE(TAgged GEometric)分支預測器預先埋好了路基。

  相近于今日少為人知的Rise mP6,K11 不等發(fā)生指令 Cache誤失才去抓取目標指令,推土機的分支預測機制與指令擷取「脫鉤」,主動標定分支預測目標的相對位址,如不存在于指令 Cache內(nèi),就「主動出擊」預先擷取,可掩蓋發(fā)生 Cache誤失時的延遲,并替更耗時的機器學習分支預測器「爭取訓練的時間」。

  依照 AMD 的說法,Zen 2 的分支錯誤率比 Zen 減少了 30%,意味著 Zen 從 97% 的精確度提升到 Zen 2 的 98%。但不論解耦式分支預測器還是機器學習分支預測器 TAGE,都是英特爾研究多年并發(fā)表過學術論文的產(chǎn)物,很可能早就導入產(chǎn)品了,但沒刻意拿出來說嘴。不過花了這么長的時間,AMD 總算在分支預測趕上英特爾的水準,仍值得可喜可賀。

  激增有效實質(zhì)容量的互斥性 Cache架構

  各位有沒有想過:Ryzen Threadripper3990X 的「288MB」 Cache容量究竟是怎么算出來的?

  答案是「64 核心× 512kB 第二階 Cache」加上「8個CCD × 2 個CCX × 16MB 第三階 Cache」,因兩邊的內(nèi)容是「互斥」(Exclusive)的,而第二階 Cache完全包含(Inclusive)了第一階 Cache的內(nèi)容,所以有效容量是32MB+256MB=288MB,這也是AMD CPU 從K7 后期至今,一個持之以恒的共同特征,而英特爾則從Nehalem 開始,走上另一條徹底相反的路線。

  互斥性 Cache架構的發(fā)生背景是K7 從Thunderbird 開始,CPU直接整合256kB 或64kB 第二階 Cache存儲器,但K7 的第一階Cache總容量多達128kB,不讓兩者「油水分離」,將會浪費大量的有效容量,如Duron 的L1 竟然還是L2 兩倍的蠢事(128kB vs. 64kB)。從 K7 到 K10 是 L1 / L2 互換,K11到 Zen 則調(diào)整成 L2 / L3 輪轉(zhuǎn)。

  K8 / K10 利用這點,趁L1 指令Cache的數(shù)據(jù)搬到L2 時,將分支選擇器隨著預先解碼(Pre-decoded)和奇偶校驗(Parity)欄位,一并寫入確定存放指令的L2  Cache區(qū)塊之ECC 欄位,但互斥性 Cache架構也是AMD CPU 最末階 Cache延遲過長的元兇。

  服務器等級的存儲器自動偵測容錯機制

  服務器要的是RAS:可靠性(Reliability)、可用性(Availability)、可服務性(Serviceability),而最大的潛在威脅,莫過于構成地球低強度背景輻射的帶電粒子,所引起位元翻轉(zhuǎn)的存儲器軟錯誤(Soft Error),動輒偶發(fā)的多位元錯誤更是一大挑戰(zhàn)。K8 之所以能替AMD 敲開服務器天堂的大門,被偵錯容錯機制高度保護的 Cache存儲器與主存儲器,以及檢測硬體錯誤并回報軟體進行復原處理的硬體檢查架構(Machine Check Architecture,MCA),統(tǒng)統(tǒng)功不可沒。

  從K8 到Zen,ECC(Error-CorrectingCode)越來越強悍,L1 數(shù)據(jù) Cache存儲器可「修復單位元錯誤,偵測雙位元錯誤」,L2 / L3  Cache存儲器更「修復雙位元錯誤,偵測三位元錯誤」,但「數(shù)據(jù)損壞了頂多重抓」的L1 指令 Cache「不太需要完善保護,只須奇偶校驗」的原則毫無改變的跡象,事實上也沒必要,起碼節(jié)約成本。

  K8 整合式存儲器控制器支援防止存儲器多位元錯誤的 Chipkill 技術,如何做到?下面這張圖闡述得非常清晰。

  既然存儲器模組使用的 ECC 演算法無法糾正超過單位元的錯誤,那么我們就「分而治之」,讓超過單位元的錯誤,不會出現(xiàn)在單一存儲器模組。假設有4 條存儲器模組,而存儲器模組顆粒數(shù)據(jù)總線的寬度為4 位元,我們各自分開存放ECC 偵錯碼的額外顆粒的4 條數(shù)據(jù)線,和另外3 條模組的數(shù)據(jù)線組成4 位元寬度,即可預防單一存儲器模組發(fā)生超過1 位元的錯誤。

  論服務器可靠性RAS,英特爾、AMD 是半斤八兩,像在Nehalem-EX(Xeon 7500 系列)時期,英特爾硬把Itanium 一整套搬到x86 平臺變成「MCA Recovery」,可在存儲器區(qū)塊標示硬體無法修復的錯誤,通知作業(yè)系統(tǒng)或虛擬機器管理員不再使用這些單元,關閉標示錯誤的數(shù)據(jù)并重新啟動程式,AMD 也從來沒有缺席(軟體支援性就見仁見智了),但AMD 在21 世紀初期曾短暫從英特爾手上奪過服務器的技術優(yōu)勢,依然值得大書特書。

  經(jīng)過千錘百煉的 Cache數(shù)據(jù)一致性協(xié)定

  Cache數(shù)據(jù)一致性協(xié)定(Cache CoherenceProtocol)對多核心與多處理器平臺的效能的重大影響,無論怎么說都是毋庸置疑的,不只服務器RAS,x86 CPU 在AMD K7 問世的MOESI協(xié)定,相較于行之有年的MESI,Owner 狀態(tài)允許尚未更新主存儲器的內(nèi)容前,不同CPU 之間可提前共享、并交換修改后的 Cache區(qū)塊,可大幅減輕系統(tǒng)總線的壓力,這因K8 整合存儲器控制器,而在多處理器環(huán)境,讓主存儲器分散在四處的NUMA(Non-Uniform Memory Access)架構,更是決定效能的關鍵。

  AMD 或多或少有英特爾的 MESIF 協(xié)定殷鑒在前,Zen 進一步擴充成 MDOEFSI。

  L3  Cache「海納」L2  Cache標簽(Tag)的巧思,使其搖身一變,成為可過濾 Cache一致性協(xié)定廣播的Probe Filter(或稱之為Snoop Filter,AMD 的行銷名稱是HT Assist) ,不必像K10 切割部分L3  Cache容量,或在系統(tǒng)芯片組塞一大塊SRAM 當成記錄所有 Cache區(qū)塊狀態(tài)的目錄,僅付出低成本實現(xiàn)高效率的 Cache一致性。

  將MDOEFSI 協(xié)定的細節(jié)束之高閣,目前看來在實體CPU 芯片(CPU Complex)數(shù)量極多的EPYC 和Threadripper 運行還不錯,長期大型單一晶粒共用L3  Cache的英特爾卻沒有這樣的特殊考慮,也許當英特爾哪天基于成本因素,被迫和AMD 一起「包水餃」,那時才是考驗英特爾 Cache一致性協(xié)定的最佳時機。

  支持大量處理器延展性的系統(tǒng)連結架構

  最近 AMD 在財務分析師大會發(fā)表名為「Infinity Architecture」的 Infinity Fabric 3.0,不僅可連接多顆 CPU 和多顆 GPU,更可當成CPU和 GPU 之間的橋梁。

  但這對AMD 來說并非新穎的概念,AMD 早在十幾年前K8 的HyperTransport就打算這樣干了,而Infinity Fabric 就是從HyperTranspor延展出來的「超集合」,擁有更完整的功能,從定義AMD內(nèi)部SoCIP 區(qū)塊的通用控制方式,到解決異構數(shù)據(jù)一致性的互連方案,都是持續(xù)進化中的Infinity Fabric 可大展身手的領域。

  AMD 未來面對的挑戰(zhàn)依舊嚴峻

  本文標題并不表示 AMD 這間公司就此功德圓滿。回顧25 年的AMD K 系列CPU 迢迢來時路,想必各位可漸漸感受到身為碩果僅存英特爾唯一x86 競爭者(好吧,勉強還有臺灣VIA 的Centaur 和俄羅斯的Elbrus),面對資源數(shù)倍于己的超級強敵,身處毫無犯錯余裕、如履薄冰、步步為營的艱困處境,研制產(chǎn)品時的取舍與掙扎,更是AMD 困境的縮影。

  至于時下的AMD 是否「已經(jīng)」成功,也是個巨大的問號,服務器市場市占率、營收與獲利仍遠遠不及K8 核心Opteron 全盛期水準,另一邊的GPU 戰(zhàn)場,還是被nVidia 壓著打,實際上只能算勉強站穩(wěn)腳步,離「成功」兩字仍有一段相當長的距離。AMD 另一個比較大的潛在危機在于「未來性」,這和公司能真正「發(fā)大財」互為表里。

  如果對比「蘇媽」和「皮衣教主」的演講內(nèi)容,相信大多數(shù)人仍會覺得前者「相當傳統(tǒng)保守」,后者「象征光明未來」。從量子計算、人工智能到自駕車等新興應用,AMD 統(tǒng)統(tǒng)沾不上邊,連在高效能運算市場要反攻Top500 席次都還頗有難度,唯有鞏固并擴張數(shù)據(jù)中心的獲利與營收,才有足夠銀彈投資未來。偏偏這里又是英特爾重兵集結、拼死防御、明槍暗箭明招暗招毫無保留的「現(xiàn)金母牛」(Cash Cow),絕不會平白拱手讓人。

  AMD 能否守住得來不易的戰(zhàn)果,唯有寄望晶圓代工商業(yè)模式有機會讓英特爾的制程霸權從此一去不復返,或英特爾再度犯下重大戰(zhàn)略失策,但筆者對此的態(tài)度并不樂觀,2020 年第三季的Zen 3 與第三代EPYC「Milan」對AMD 將是極為重要的命運轉(zhuǎn)折點。從光鮮亮麗簡報溢出來的滿滿憂慮,其實都早寫在 AMD高層和無數(shù)員工的臉上,只是你沒看出來。

  好戲即將上演,就讓我們拭目以待。

  

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人日皮视频 | 日韩精品在线免费观看 | 久久精品国产第一区二区 | 日本人甡交全过程 | 五月婷婷在线视频观看 | 中文在线观看永久免费 | 国产成人爱情动作片在线观看 | 97天天做天天爱夜夜爽 | 久久综合综合久久狠狠狠97色 | 日日人人| 国产免费人成在线视频视频 | 精品久久香蕉国产线看观看亚洲 | 久热这里只精品99re8久 | 深夜福利网 | 午夜激情一区 | 日韩中文字幕在线免费观看 | 黄色a视频在线观看 | 中国xxxx视频播放50 | 亚洲永久视频 | 欧美专区在线播放 | 日日干天天操 | 成人免费毛片网站 | 在线 色 | 91这里只有精品 | 激性欧美在线播激性欧美 | 亚洲性视频在线 | 在线观看黄色片 | 日皮视频免费观看 | 国产精品成人免费综合 | 亚洲午夜精品久久久久久人妖 | 成人18免费网站在线观看 | 亚洲一区影音先锋色资源 | 2020国产精品视频 | 亚洲欧美在线一区 | 欧美成人性色生活片免费在线观看 | 91欧美在线 | 国产在线a免费观看 | 无码中文字幕日韩专区 | 亚洲欧美日本综合一区二区三区 | 曰皮视频在线播放免费的 | 国产色妇 |