您的位置:首頁>正文

科技年輪|浪子回頭金不換——聊聊AMD GCN顯卡架構史(上)

Hello大家好, 由於各大學校都陸續進入了期末考試周, 飄哥也忙於複(預)習考試, 本周的科技年輪呢就由小天哥來跟大家聊聊近幾年AMD顯卡賴以生存的“骨骼”——GCN架構。 順便也給大家梳理一下, 農企這些年發佈的顯卡中的各種“馬甲”, 幫助大家做到心裡有數。

在梳理GCN歷代架構之前, 讓我們先來看一下這張匯總表:

注:圖片較大, 大家可以保存後查看

本表包含了HD7970以來的所有AMD GCN架構顯卡, 截至Polaris架構RX系列。 由於VEGA織女星架構至今只有VEGA64/56流出, 本表將暫時不涉及, 待VEGA系列全面鋪貨後再行更新。

- 0 -

序:GCN誕生之前

大家可以回頭看一眼題目, 在這裡我將AMD的GCN架構比作“浪子回頭金不換”的一代架構, 為什麼這麼說呢?這要從HD7000之前的HD5000/6000系列說起了。

▌被勝利的喜悅沖昏了頭腦

飄哥曾經在《科技年輪 | 紅色永不服輸 ATI/AMD旗艦進化之路(下)》(戳我傳送)中提到, AMD在嘗到了HD4850/HD4870小核心戰略的甜頭後, 憑藉著對40nm制程以及GDDR5顯存的成功試水,

在DX11發佈的初期, AMD就搶先一舉發佈了1600個流處理器的HD5870, 輕鬆拿下單芯性能王座。

然而早在DX10時代, 由於混合型指令以及分支預測的情況更加頻繁, NVIDIA就拿出了G80/G92這種統一渲染架構, 即把原本圖元著色、頂點著色以及DX10中新增的幾何著色,

統一交給流處理器來處理。 而AMD剛剛嘗到小核心戰略的甜頭, 沒來得及思考核心架構的不足, 單單憑藉進一步的“堆料”, 就又昂首闊步走進了DX11的時代。 雖然在隔壁GF100核心深陷良品率的泥潭時成功收復了不少失地, 但是NVIDIA憑藉多年來在統一渲染架構方向打下的基礎, 以及在GT200時代為通用平行計算而優化的架構, 憑藉Fermi核心一舉完成了DX11與平行計算的完美結合。

接下來的事情大家想必都有些許印象了:在遊戲領域, HD5870大幅落後的曲面細分性能在對陣GTX480時一敗塗地;在通用計算領域, VLIW5這種SIMD架構註定其只在處理被打包好的4D+1D指令時才能完全發揮性能, 因此要求程式設計人員/驅動程式將眾多複雜的通用指令打包成4D+1D的處理模式, 大大限制了其性能的發揮。 反觀NVIDIA, MIMD的統一渲染架構使得無論什麼樣的指令都無需打包直接在SM中運行, 再加上相容C語言特性的CUDA日趨成熟, 最終直接導致中國最強的超級電腦天河一號由曾經使用的HD4870X2, 升級成了NVIDIA的Tesla, 宣佈了AMD在通用計算領域的全線潰敗。

▌可怕的不是走錯路, 而是在錯誤的道路上越走越遠

AMD在使用HD5000系列收復失地之後, 也已經意識到在DX11時代, 4D+1D的超標量運算架構效率逐漸低下。 AMD通過自己長期內部測試發現, VLIW5架構的五個處理槽中平均只能用到3.4個, 也就是在遊戲裡會有1.6個白白浪費了。

但可怕的是, 針對NVIDIA早早佈局的通用計算領域,AMD卻仍然不甚上心,認為自己的VLIW架構依然還能“再戰三年”——於是,小幅優化的VLIW4架構誕生了。AMD在HD6900系列中,將較少用到的全功能1D ALU削減,轉而使用3個更加小而靈活的1D ALU來完成以前交付給那個全功能的1D ALU的複雜操作。同時,採用雙發射的指令架構,使得HD6000系列相比HD5000系列的曲面細分能力等更上了一層樓。

但是,相比良品率已經提高、以GF100完全體呈現的GTX580,HD6970不僅僅輸在了曲面細分這一項,遊戲性能甚至全面落敗,僅能和GTX570一戰。而在通用計算領域,老舊的VLIW架構更不用說,已經完全不是Fermi的對手。加之HD6970的指令發射單元由HD5870的1/5*SP總數增至1/4*SP總數,相對應的核心面積、電晶體數目以及功耗均大幅增加。在保持40nm制程的前提下,它毫無疑問成了一顆核彈。而雙芯的HD6990……

- 1 -

GCN1.0 橫空出世

終於,AMD看到了自己在通用計算領域的短板,同時隨著DirectX的發展,混合型指令以及分支預測的情況更加頻繁,1D、2D、3D的種種指令越來越多,即便是VLIW4的架構也不足以抵消非4D指令執行的低效率。於是,AMD痛定思痛,開始了GCN架構的研發。

GCN,全稱為Graphics Core Next,字面譯為次世代顯示架構。從這一代架構開始,AMD完全拋棄了VLIW架構體系,轉而使用像NVIDIA的SM一樣的GCN單元(也叫做CU,Compute Unit),每個CU內部擁有4組SIMD陣列。雖然架構還是基於SIMD體系,但是四組SIMD陣列同步運行使得每個CU單元每週期可以執行4執行緒,具備了MIMD體系的特點。而每個SIMD陣列又擁有16個ALU,因此HD7970便是32個CU-128組SIMD陣列-2048個流處理器。

GCN架構可謂是AMD全新的革命性架構,除了傳統的3D運算之外,它還在GPU通用計算上洗心革面,是AMD首次針對3D渲染/GPU計算雙重使命而設計的。在VLIW的彎路上走了許久之後,終於正視了GPU在通用計算領域重要的作用,也終於下定決心重新設計GPU的架構。因此,小天哥將GCN稱之為AMD“浪子回頭金不換”的一代架構,GCN設計的成功甚至可以讓AMD在7年以後的今天,依然在GCN架構的大框架下,進行著修修補補,推出了一代又一代的新(馬)顯(甲)卡。

- 2 -

GCN1.0 顯卡解析

HD7970推出後,AMD終於又打了個漂亮的翻身仗,特別是前瞻性的加入了2個ACE非同步運算單元,使得DX12到來的時候毫不慌張的適配了DX12的非同步運算特性。反觀NVIDIA,直到Maxwell 2代(GTX900系列)才將非同步調度的功能加入Warp Scheduler,並且由於不是硬體實現,及其依賴驅動的優化,後果大家也看到了——就是在《奇點灰燼》中,全面落敗了AMD顯卡。當然,AMD在16.9.2驅動之後禁用了GCN1.0的非同步運算支援,這就是後話了。

不過,目前真正做到使用底層API開發的純DX12遊戲依然不多,而且NVIDIA的驅動層面也已逐漸跟上,這一點用N卡的同學們還是不用擔心的。舉這個例子,只是說明AMD的GCN架構在設計之初,就具有了一定的前瞻性,也使得AMD冠上了“三年之後再三年,縫縫補補又三年”的稱號。

接下來讓我們說說採用了GCN1.0架構的顯卡都有哪些吧。從本文最開始的表格中可以看到(為大家方便,這裡再放一次):

大家熟悉的R9 280X / R9 280,其實就是HD7970 / HD7950的馬甲,甚至連核心名稱都沒換,只是優化了一下工藝就推出了。而HD7930則是AMD在HD7950的基礎上再砍一刀,用於對抗GTX660Ti。不過需要注意的是,同為Tahati LE核心,顯存位寬卻有384bit與256bit兩種。雖然最終AMD交由各大AIB廠商發佈的是256位寬的HD7870+(又名HD7870XT、HD7890),但是384bit的HD7930也曾經有公版流出到市場上。

而接下來的Pitcairn XT核心,可謂是AMD的“最強馬甲”卡,從HD7870到R9 270到R9 270X再到R9 370X,全部是一個核心,只是優化了工藝,超了超頻率,再改改核心名稱,就推向了市場。與之對應的Pitcairn PRO核心,則是從HD7850到R7 265(國外市場)R9 270 1024SP(國內市場)再到R9 370,也是一路馬甲下來。特別是R9 270和R9 370,看似同樣的定位竟然出現了開倒車的情況,十分令人唏噓。

有趣的是,AMD的AIB廠商AFOX在向TomsHardware送測HD7850時,竟然無意中送錯,送出了一塊768SP的HD7850,使得各大媒體競相將其猜測成填補HD7770 / HD7850中間空檔的HD7830,還“腦補”了GTX560Ti與其“對陣”……當然,在TomsHardware聯繫了AFOX確認是其送錯了樣品後,這事也就不了了之了。

低端卡一直是馬甲重災區,從表中大家也都能看出來,在這裡也就不給大家詳細解釋了。不過,HD7790卻是HD7000系列中的一朵“奇葩”,它的出現直接為我們帶來了GCN2.0(GCN1.1),那麼這朵“奇葩”,以及之後的GCN3.0(GCN1.2)、GCN4.0,就留到下周給大家繼續講解吧~本期科技年輪就先到這裡,我們下周債見啦!

戳圖片傳送至往期精彩

喜歡我們的推送別忘了點一個頂

向親朋好友推薦一下我們的文章

或者讚賞一下

我們下期再見啦!

針對NVIDIA早早佈局的通用計算領域,AMD卻仍然不甚上心,認為自己的VLIW架構依然還能“再戰三年”——於是,小幅優化的VLIW4架構誕生了。AMD在HD6900系列中,將較少用到的全功能1D ALU削減,轉而使用3個更加小而靈活的1D ALU來完成以前交付給那個全功能的1D ALU的複雜操作。同時,採用雙發射的指令架構,使得HD6000系列相比HD5000系列的曲面細分能力等更上了一層樓。

但是,相比良品率已經提高、以GF100完全體呈現的GTX580,HD6970不僅僅輸在了曲面細分這一項,遊戲性能甚至全面落敗,僅能和GTX570一戰。而在通用計算領域,老舊的VLIW架構更不用說,已經完全不是Fermi的對手。加之HD6970的指令發射單元由HD5870的1/5*SP總數增至1/4*SP總數,相對應的核心面積、電晶體數目以及功耗均大幅增加。在保持40nm制程的前提下,它毫無疑問成了一顆核彈。而雙芯的HD6990……

- 1 -

GCN1.0 橫空出世

終於,AMD看到了自己在通用計算領域的短板,同時隨著DirectX的發展,混合型指令以及分支預測的情況更加頻繁,1D、2D、3D的種種指令越來越多,即便是VLIW4的架構也不足以抵消非4D指令執行的低效率。於是,AMD痛定思痛,開始了GCN架構的研發。

GCN,全稱為Graphics Core Next,字面譯為次世代顯示架構。從這一代架構開始,AMD完全拋棄了VLIW架構體系,轉而使用像NVIDIA的SM一樣的GCN單元(也叫做CU,Compute Unit),每個CU內部擁有4組SIMD陣列。雖然架構還是基於SIMD體系,但是四組SIMD陣列同步運行使得每個CU單元每週期可以執行4執行緒,具備了MIMD體系的特點。而每個SIMD陣列又擁有16個ALU,因此HD7970便是32個CU-128組SIMD陣列-2048個流處理器。

GCN架構可謂是AMD全新的革命性架構,除了傳統的3D運算之外,它還在GPU通用計算上洗心革面,是AMD首次針對3D渲染/GPU計算雙重使命而設計的。在VLIW的彎路上走了許久之後,終於正視了GPU在通用計算領域重要的作用,也終於下定決心重新設計GPU的架構。因此,小天哥將GCN稱之為AMD“浪子回頭金不換”的一代架構,GCN設計的成功甚至可以讓AMD在7年以後的今天,依然在GCN架構的大框架下,進行著修修補補,推出了一代又一代的新(馬)顯(甲)卡。

- 2 -

GCN1.0 顯卡解析

HD7970推出後,AMD終於又打了個漂亮的翻身仗,特別是前瞻性的加入了2個ACE非同步運算單元,使得DX12到來的時候毫不慌張的適配了DX12的非同步運算特性。反觀NVIDIA,直到Maxwell 2代(GTX900系列)才將非同步調度的功能加入Warp Scheduler,並且由於不是硬體實現,及其依賴驅動的優化,後果大家也看到了——就是在《奇點灰燼》中,全面落敗了AMD顯卡。當然,AMD在16.9.2驅動之後禁用了GCN1.0的非同步運算支援,這就是後話了。

不過,目前真正做到使用底層API開發的純DX12遊戲依然不多,而且NVIDIA的驅動層面也已逐漸跟上,這一點用N卡的同學們還是不用擔心的。舉這個例子,只是說明AMD的GCN架構在設計之初,就具有了一定的前瞻性,也使得AMD冠上了“三年之後再三年,縫縫補補又三年”的稱號。

接下來讓我們說說採用了GCN1.0架構的顯卡都有哪些吧。從本文最開始的表格中可以看到(為大家方便,這裡再放一次):

大家熟悉的R9 280X / R9 280,其實就是HD7970 / HD7950的馬甲,甚至連核心名稱都沒換,只是優化了一下工藝就推出了。而HD7930則是AMD在HD7950的基礎上再砍一刀,用於對抗GTX660Ti。不過需要注意的是,同為Tahati LE核心,顯存位寬卻有384bit與256bit兩種。雖然最終AMD交由各大AIB廠商發佈的是256位寬的HD7870+(又名HD7870XT、HD7890),但是384bit的HD7930也曾經有公版流出到市場上。

而接下來的Pitcairn XT核心,可謂是AMD的“最強馬甲”卡,從HD7870到R9 270到R9 270X再到R9 370X,全部是一個核心,只是優化了工藝,超了超頻率,再改改核心名稱,就推向了市場。與之對應的Pitcairn PRO核心,則是從HD7850到R7 265(國外市場)R9 270 1024SP(國內市場)再到R9 370,也是一路馬甲下來。特別是R9 270和R9 370,看似同樣的定位竟然出現了開倒車的情況,十分令人唏噓。

有趣的是,AMD的AIB廠商AFOX在向TomsHardware送測HD7850時,竟然無意中送錯,送出了一塊768SP的HD7850,使得各大媒體競相將其猜測成填補HD7770 / HD7850中間空檔的HD7830,還“腦補”了GTX560Ti與其“對陣”……當然,在TomsHardware聯繫了AFOX確認是其送錯了樣品後,這事也就不了了之了。

低端卡一直是馬甲重災區,從表中大家也都能看出來,在這裡也就不給大家詳細解釋了。不過,HD7790卻是HD7000系列中的一朵“奇葩”,它的出現直接為我們帶來了GCN2.0(GCN1.1),那麼這朵“奇葩”,以及之後的GCN3.0(GCN1.2)、GCN4.0,就留到下周給大家繼續講解吧~本期科技年輪就先到這裡,我們下周債見啦!

戳圖片傳送至往期精彩

喜歡我們的推送別忘了點一個頂

向親朋好友推薦一下我們的文章

或者讚賞一下

我們下期再見啦!

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示