一代CPU王者的發(fā)展簡史:從技壓英特爾的x86-64位技術到全新的 Ryzen 架構
同步多線程,徹底發(fā)揮 CPU 核心的計算能力
本文引用地址:http://www.bjwjmy.cn/article/201704/358207.htm在 2008 年,Intel 將其 Hyper-Threading 的技術重新導入 Core i 系列 CPU,也就我們現在所熟知的 i3、i5、i7 處理器。所謂的 Hyper-Threading,便是在一個 CPU 核心內部在將其分成兩份。然而,究竟是如何將 CPU 切成兩份呢?根據 Intel 于 2002 年所發(fā)布的Hyper-Threading Technology Architecture and Microarchitecture便可略知一二。
在論文中,Intel 便給出了兩張比較圖。兩個核心最主要的差異,在采用 Hyper-Threading 技術中的 CPU 中,Architecture State 單元會比一般的核心多一個。大致上,Architecture State 單元包含了多數的暫存器以及中斷訊號的控制器等,用以記錄執(zhí)行緒執(zhí)行的資訊,是無法被共用的資料。

▲ 左圖為未采用 Hyper-Threading 技術的 CPU Cores,右圖則是采用了 Hyper-Threading 技術的 CPU Cores,其中,兩者間的差異為一個 CPU Core 中有不同數量的 Architecture State 單元。(Source:Intel Technology Journal Vol. 1)
因此,在采用這個技術之后,只需要額外的 5% 面積,便可以達成更高的指令集平行化,讓 CPU 盡可能地滿載,釋放 CPU 所有的潛能。根據這一篇論文中所提供的數據,采用這一項技術后,在多執(zhí)行緒的執(zhí)行情況下,將可帶來將近 30% 的效能提升,相當驚人。
做為應對,AMD 于 2011 年推出 Bulldozer,其采用的并非是 Intel 所使用的 SMT 技術,而是 Clustered MultiThreaded(CMT)技術。此技術是將一顆 CPU 內部的整數執(zhí)行單元復制一份,讓 CPU 具備在同一核心內部執(zhí)行兩個執(zhí)行緒能力,在后續(xù)要擴增核心的計算能力上,相當的容易,所需要的修改相對的較少。
然而,其缺點便是沒有辦法共用執(zhí)行單元,無法享有 SMT 中最重要的優(yōu)點,用兩個 Thread 盡可能讓執(zhí)行單元不會有空閑狀態(tài)。此外,兩個獨立的 L1 Cache 雖然感覺在實作上會比較簡單。但是,為了要維持 Cache 的一致性,便需要擁有額外的 Core 內部資料交換單元,大大的提升控制電路的復雜性。
最后,結果便是眾所皆知的,AMD 于 x86 的 CPU 市占率直直落,現今在中高端的筆電市場中,更幾乎看不到采用 AMD CPU 的產品。就在 AMD 要消失在市場之中時,Zen CPU 的消息傳出!
Ryzen CPU,硬件架構的重新設計
在 2012 年,K8 的主要硬件架構師 Jim Keller 回到 AMD。這一次,他的回歸,讓 AMD 重返榮耀的聲音響起。是否新的 CPU 可以再現 K8 的傳說?這一次的 Ryzen CPU 和先前的 AMD CPU 有何差異?
將底層硬件架構做比較,可以發(fā)現 Ryzen CPU,取消了 Bulldozer 所提出的 Integer Cluster,并以類似 Intel Hyper-Threading 的技術取而代之。如此便能讓 CPU 盡可能地達到滿載的狀況。
此外,新的 Ryzen CPU 也引進了 Intel 于 Sandy Bridge 架構開始采用的 Micro-op Queue,以減少重新 Decode 的需求,提升單次可執(zhí)行的指令數。借由更多先進的技術,讓 AMD 得以獲得大幅度的效能提升。也因此,AMD 公布 Ryzen CPU 其每個周期可以執(zhí)行的指令比前一代 CPU 多 52%,改善幅度相當大。
至于實際的 Ryzen CPU 效能如何呢?現在已經有相當多的評測文章將 Intel Kaby Lake 系列和 Ryzen 系列 CPU 做比較,在這不再多做評比。不過,在一般的應用上,AMD 的 CPU 不會再像之前的 CPU,看不到 Intel CPU 的車尾燈。

▲ AMD 于 2016 年 HOT CHIPS 上所發(fā)布的架構圖。從圖中可以發(fā)現,新的架構取消掉 CMT 的技術,讓 CPU 核心變得較不復雜。(Source:AMD)
至此,我們已經看完了兩大 x86 巨頭間的廝殺,同時在短短的 17 年間,CPU 產業(yè)已經采用相當多的技術,以滿足與日漸增的計算需求。千禧年后 CPU 的發(fā)展簡史,讓我們見證了一代 CPU 王者的興起沒落以及歸來。

▲ 從圖中可以發(fā)現在 AMD Bulldozer 中,一共有兩個整數運算單元,此技術便稱為 Clustered MultiThreaded。(Source:By Shigeru23 (Made by uploader (ref:[1], [2], [3])) [GFDLor CC BY 3.0], via Wikimedia Commons)
評論