今年,眾所期待的 AMD Ryzen CPU 終于上市了。從 2012 年開始研發(fā),背負著帶領AMD 重返榮耀的 CPU,一上市便造成轟動。極高的性價比以及低功耗,為筆電以及桌機的 CPU 市場,注入了活水。下面就隨嵌入式小編一起來了解一下相關內容吧。
64 位處理器的興起
在 32 位 CPU 中,如果單純以 CPU 做存儲器定址時,4GiB 為其極限。多余的空間,則需額外的軟硬件支持。在早期的超級電腦中,這一類的需求可以靠錢解決。然而,隨著存儲器技術的發(fā)展,在一般商業(yè)甚至是一般消費性市場中,4G 以上的存儲器將越來越常見。如果有一款 CPU 可以直接定址大量的存儲器,將帶來相當大的優(yōu)勢。
因此,從 90 年代起,眾多的 CPU 制造商開始研發(fā)制造 64 位的 CPU。其中,PC 市場的領頭羊,Intel 便從 1994 年開始,和 HP 共同發(fā)展新的 64 位指令集架構以及 CPU,以因應接下來的 CPU 市場競爭。然而,Intel 所提出的 64 位 CPU,其指令集架構和舊有的 x86 截然不同,將導致原有的程序會無法在新的 Intel CPU 上執(zhí)行。
1999 年時,AMD 則發(fā)布和 Intel 截然不同的方法。AMD 決定將既有的 x86 指令集架構,擴增成 64 位的指令集。采用這個方法意味著原有的程序,將得以執(zhí)行在新的 AMD 64 位的 CPU 上,大大減低后續(xù)重新編寫程序的需求。指令集架構的差異,替 AMD 立下勝利的基石。
64 位指令集架構之戰(zhàn),AMD 大獲全勝
在 2001 年,Intel 終于發(fā)布其第一款的 64 位 CPU──Itanium。然而,這一款 CPU 在市場的接受度卻沒有如同其所預期般,迅速的被采用。最主要的原因,莫過于軟件的數(shù)量不足、以及和其他 64 位處理器相比的弱勢效能。
其中,軟件數(shù)量不足的關鍵,就在于指令集架構的差異。在高速計算里面,為了讓程序得以執(zhí)行的更快,大多數(shù)的工程師會修改或直接編寫組合語言,以期讓程序能更符合硬件的執(zhí)行模式。如果更換不同的指令集架構,將需要耗費大量的時間修改組合語言,甚至重新開發(fā)整個程序。
此外,沒有明顯優(yōu)勢的 CPU 效能,也讓開發(fā)商不愿投入更多的資源在 Intel 的 Itanium 上。因此,Intel 只能加速下一款 CPU 的開發(fā),以期待能滿足市場的需求。
2003 年,震撼市場的消息發(fā)出。AMD 發(fā)布了第一款 x86-64 的 CPU──Opteron 以及 Athlon 64。光是讓既有的 32 位 CPU 運行于其上,就已經(jīng)為 AMD 添增光彩。更不用說新的 CPU 所采用的硬件架構 K8 是何等的強悍。
扭轉頹勢,Intel 版 x86-64 現(xiàn)身
為了避免商用以及高速科學計算領域的市占率下滑,Intel 于 2004 年時緊急推出新的 Xeon CPU。此外,在桌機市場,Athlon 64 的優(yōu)秀效能,讓 Intel 不得不以既有的 Pentium 4 為基礎將指令集架構擴展至 64 位。
然而,即使 Intel 推出新了的 CPU,其 CPU 硬件架構效能提升卻不足,導致新的 CPU 效能稍微落后采用 K8 架構的 Opteron 以及 Athlon 64。K8 架構成了傳說,為 AMD 帶來榮耀。同時,其主要硬件架構師 Jim Keller 也逐漸為人所知。
邁向多核心之路,黃金交叉將出現(xiàn)?
在 2005 年 5 月時,AMD 以及 Intel 皆發(fā)布了消費者市場的雙核心 CPU,分別為 AMD Athlon 64 X2 以及 Intel Pentium D。第一款消費市場的雙核心 CPU,揭開了嶄新的時代序幕。多的核心便意味著作業(yè)系統(tǒng)中的多執(zhí)行緒,可以同時運行在一顆 CPU 中,大幅降低執(zhí)行緒所需等待的時間。
比較這兩款 x86-64 雙核心 CPU 的效能時,這一次,AMD 持續(xù)維持著其領先的姿態(tài),Athlon 64 X2 的效能大幅超越 Pentium D。AMD CPU 的市占率一舉攀升,就在黃金交叉將要出現(xiàn)之時。Intel 展開逆襲,2006 年 8 月,Intel 推出了下一代的 CPU──Core 2 系列。
▲ 由 CPU Benchmarks 所統(tǒng)計的資料,該資料是統(tǒng)計全球使用該款 benchmarks 的 CPU 廠牌。雖然不是實際的 CPU 出貨量,但是足以當做參考。(Source:CPU Benchmarks)
新系列的 Intel CPU,斷開和 Pentium 4 的關聯(lián),以 Pentium III 的 CPU 硬件架構為基礎重新設計,并采用 AMD 所發(fā)展的 64 位指令集架構。這一次,Intel 以過往成功的產(chǎn)品為基礎并重新設計,以 Core 為名重新出發(fā)。這一次,Intel 結束產(chǎn)品線的混亂以及產(chǎn)品效能低落的數(shù)年。
同步多線程,徹底發(fā)揮 CPU 核心的計算能力
在 2008 年,Intel 將其 Hyper-Threading 的技術重新導入 Core i 系列 CPU,也就我們現(xiàn)在所熟知的 i3、i5、i7 處理器。所謂的 Hyper-Threading,便是在一個 CPU 核心內部在將其分成兩份。然而,究竟是如何將 CPU 切成兩份呢?根據(jù) Intel 于 2002 年所發(fā)布的Hyper-Threading Technology Architecture and Microarchitecture便可略知一二。
在論文中,Intel 便給出了兩張比較圖。兩個核心最主要的差異,在采用 Hyper-Threading 技術中的 CPU 中,Architecture State 單元會比一般的核心多一個。大致上,Architecture State 單元包含了多數(shù)的暫存器以及中斷訊號的控制器等,用以記錄執(zhí)行緒執(zhí)行的資訊,是無法被共用的資料。
▲ 左圖為未采用 Hyper-Threading 技術的 CPU Cores,右圖則是采用了 Hyper-Threading 技術的 CPU Cores,其中,兩者間的差異為一個 CPU Core 中有不同數(shù)量的 Architecture State 單元。(Source:Intel Technology Journal Vol. 1)
因此,在采用這個技術之后,只需要額外的 5% 面積,便可以達成更高的指令集平行化,讓 CPU 盡可能地滿載,釋放 CPU 所有的潛能。根據(jù)這一篇論文中所提供的數(shù)據(jù),采用這一項技術后,在多執(zhí)行緒的執(zhí)行情況下,將可帶來將近 30% 的效能提升,相當驚人。
做為應對,AMD 于 2011 年推出 Bulldozer,其采用的并非是 Intel 所使用的 SMT 技術,而是 Clustered MultiThreaded(CMT)技術。此技術是將一顆 CPU 內部的整數(shù)執(zhí)行單元復制一份,讓 CPU 具備在同一核心內部執(zhí)行兩個執(zhí)行緒能力,在后續(xù)要擴增核心的計算能力上,相當?shù)娜菀祝枰男薷南鄬Φ妮^少。
然而,其缺點便是沒有辦法共用執(zhí)行單元,無法享有 SMT 中最重要的優(yōu)點,用兩個 Thread 盡可能讓執(zhí)行單元不會有空閑狀態(tài)。此外,兩個獨立的 L1 Cache 雖然感覺在實作上會比較簡單。但是,為了要維持 Cache 的一致性,便需要擁有額外的 Core 內部資料交換單元,大大的提升控制電路的復雜性。
最后,結果便是眾所皆知的,AMD 于 x86 的 CPU 市占率直直落,現(xiàn)今在中高端的筆電市場中,更幾乎看不到采用 AMD CPU 的產(chǎn)品。就在 AMD 要消失在市場之中時,Zen CPU 的消息傳出!
Ryzen CPU,硬件架構的重新設計
在 2012 年,K8 的主要硬件架構師 Jim Keller 回到 AMD。這一次,他的回歸,讓 AMD 重返榮耀的聲音響起。是否新的 CPU 可以再現(xiàn) K8 的傳說?這一次的 Ryzen CPU 和先前的 AMD CPU 有何差異?
將底層硬件架構做比較,可以發(fā)現(xiàn) Ryzen CPU,取消了 Bulldozer 所提出的 Integer Cluster,并以類似 Intel Hyper-Threading 的技術取而代之。如此便能讓 CPU 盡可能地達到滿載的狀況。
此外,新的 Ryzen CPU 也引進了 Intel 于 Sandy Bridge 架構開始采用的 Micro-op Queue,以減少重新 Decode 的需求,提升單次可執(zhí)行的指令數(shù)。借由更多先進的技術,讓 AMD 得以獲得大幅度的效能提升。也因此,AMD 公布 Ryzen CPU 其每個周期可以執(zhí)行的指令比前一代 CPU 多 52%,改善幅度相當大。
至于實際的 Ryzen CPU 效能如何呢?現(xiàn)在已經(jīng)有相當多的評測文章將 Intel Kaby Lake 系列和 Ryzen 系列 CPU 做比較,在這不再多做評比。不過,在一般的應用上,AMD 的 CPU 不會再像之前的 CPU,看不到 Intel CPU 的車尾燈。
▲ AMD 于 2016 年 HOT CHIPS 上所發(fā)布的架構圖。從圖中可以發(fā)現(xiàn),新的架構取消掉 CMT 的技術,讓 CPU 核心變得較不復雜。(Source:AMD)
至此,我們已經(jīng)看完了兩大 x86 巨頭間的廝殺,同時在短短的 17 年間,CPU 產(chǎn)業(yè)已經(jīng)采用相當多的技術,以滿足與日漸增的計算需求。千禧年后 CPU 的發(fā)展簡史,讓我們見證了一代 CPU 王者的興起沒落以及歸來。
▲ 從圖中可以發(fā)現(xiàn)在 AMD Bulldozer 中,一共有兩個整數(shù)運算單元,此技術便稱為 Clustered MultiThreaded。(Source:By Shigeru23 (Made by uploader (ref:[1], [2], [3])) [GFDLor CC BY 3.0], via Wikimedia Commons)
評論