張平
對XBOXSeriesX(下簡稱XBOXX)的期待和討論已經(jīng)持續(xù)了一段時間。在這期間,微軟不斷地放出有關(guān)XBOXX的相關(guān)消息,包括外形、控制器、硬件架構(gòu)和內(nèi)部設(shè)計等。本刊此前對XBOXX的相關(guān)信息進(jìn)行過一次簡要介紹。數(shù)月后,微軟在HotChips2020大會上又公布了大量有關(guān)XBOXX芯片設(shè)計和技術(shù)應(yīng)用的細(xì)節(jié)信息,趕緊來看看!
今天的主角是XBOXX,微軟在HotChips2020上公布了XBOXX處理器和架構(gòu)設(shè)計的大量信息,人們終于可以比較清晰地了解到這款劃時代的全新游戲主機(jī)在芯片設(shè)計、GPU設(shè)計和性能、技術(shù)等方面的真面目。
XBOXSeriesX處理器技術(shù)特性一覽
XB0XX的處理器是由AMD和微軟聯(lián)合研制。微軟介紹了這款處理器的技術(shù)特性,其圖形部分支持取樣器反饋流(SamplerFeedbackStreaming)、DirectX光線追蹤(DirectXRaytracing)、可變像素比率渲染(VariableRatesShading)、機(jī)器學(xué)習(xí)加速(MachineLearningAcceleration)、D3D網(wǎng)格渲染(D3DMeshShading)等。除了圖形之外,它的其他技術(shù)特性還包括XB0X速度架構(gòu)(XBOXVelocityArchitecture)、Opus音頻解碼(OpusAudioDecode)、高質(zhì)量采樣率轉(zhuǎn)換(HighqualitySamplerateConverter)、利用卷積音頻引擎的音頻加速(ProjectAcousticsacceleration)、支持8K的線纜、支持HDMI2.1、支持VRR可變刷新率、支持120Hz輸出、支持線性光處理等。這些技術(shù)都基于XBOXX的SoC,因此微軟也對這款SoC進(jìn)行了詳細(xì)介紹。
XBOXSeriesX處理器的工藝和成本
之前有關(guān)這款SoC的消息很多,比如這款SoC產(chǎn)品采用了Zen2架構(gòu)的CPU核心搭配全新的GPU核心,工藝則依靠臺積電?,F(xiàn)在微軟公布了更詳細(xì)的內(nèi)容,在工藝方面,XBOXX的SoC采用了臺積電的7nm增強(qiáng)版工藝,整體處理器面積為360.4mm?,擁有153億晶體管,12層基底,采用了“5-2-5”的布置方式。封裝方式依舊是BGA,BGA尺寸的長寬均是52.5mm,是正方形布置,BGA擁有2963個球形觸點,球形觸點之間的最小距離為0.8mm。頻率方面,XBOXX的處理器頻率為3.8GHz,沒有使用Boost等方式,只是在開啟SMT多線程的時候頻率會降低為3.66GHz。
相比XBOX0neX、XB0XOneS所用的處理器,XBOXX處理器7nm增強(qiáng)版的工藝無疑要比XB0XOne的16nm先進(jìn)不少。另外XB0XOneX的處理器晶體管數(shù)量為66億,芯片面積為367mm?,XBOXOneS則只有54億,芯片面積為237mm。再往前推的話,XB0XOne的處理器采用的是28nm工藝、48億晶體管,芯片面積為375mm。
從這些數(shù)據(jù)可以看出,微軟在設(shè)計XBOX系列產(chǎn)品的時候,其處理器最大核心面積維持在360mm~375mm?,一般不會超出這個數(shù)據(jù),也不會太低于這個數(shù)據(jù)(除非是特殊版本,比如從XBOXOne更換工藝、升級版本的XBOX0neS),這應(yīng)該是充分考慮了成本、性能和設(shè)計難度之間的衡量。畢竟芯片面積越大,成本上升速度越快。目前桌面類似處理器中,芯片面積最大的也就是英偉達(dá)GA100,面積大約在800mm?,但是其產(chǎn)品售價和XBOXX這種面向大眾的產(chǎn)品完全不是一個量級了。
另外微軟還特別提到XBOXX的成本和摩爾定律等問題。微軟認(rèn)為,目前遵循摩爾定律的路徑進(jìn)行產(chǎn)品開發(fā)的確可以達(dá)成目標(biāo),但是成本控制會成為很大的問題。臺積電新的7nm增強(qiáng)版本工藝使用了更復(fù)雜的步驟和結(jié)構(gòu),因此體現(xiàn)出更高的晶元價格和較低的良率,再加上這種大型異構(gòu)SoC所需要付出的知識產(chǎn)權(quán)成本,以及微軟為全新處理器進(jìn)行的硬件改進(jìn)設(shè)計,加入的全新加速器模塊,以上種種都導(dǎo)致XBOXX的SoC研發(fā)成本變得非常高昂。微軟用美元的符號“$"來代表處理器的研發(fā)成本,2013年面積為375mm的XBOXOne的處理器成本是一個“$”,隨后應(yīng)用16nm工藝在一定程度上降低了成本,變成了“$一”,2017年的XBOXOneX以接近的芯片面積(367mm?)帶來了略微昂貴的成本也就是"$+”,但是現(xiàn)在7nm工藝下的XBOXX處理器成本上升至"$++",顯然比之前更貴了。
另外,微軟還公布了處理器內(nèi)部的分區(qū)域圖片。從圖片可以看出,XBOXX的處理器基本是以對稱的形式分布,處理器上部左右分別分布了一個Zen2的CCX,一個Zen2的CCX包含了4個CPU核心、每核心512KBL2緩存以及一個共享的4MBL3緩存。兩個CCX中間布置了多媒體硬件加速模塊(MultiMediaHWAccel)。
在GPU的左右角和CPU接近的部分,布置了SoCfabriccoherencyG6MCs,這個單元的作用微軟沒有特別介紹,但是從布局位置、名稱等方面來猜測,這個單元應(yīng)該是跟內(nèi)存控制器相關(guān),可能是溝通CPU、GPU、多媒體模塊的統(tǒng)一數(shù)據(jù)總線控制器。
內(nèi)存接口方面,XBOXX的SoC一共包含了8個GDDR6內(nèi)存控制器,一共擁有20個通道,每個通道16bit,位寬320bit,在搭配等效頻率為14GHz的GDDR6內(nèi)存時,其最大帶寬可達(dá)560GB/s。但是微軟在這里采用的是非對稱內(nèi)存設(shè)計,總計16GB內(nèi)存中,10GB部分的最大帶寬為560GB/s,其余的6GB最大帶寬僅為336GB/s。
除了分區(qū)域圖片外,微軟也給出了內(nèi)部總線和模塊連接簡圖。根據(jù)圖片提供的信息,處理器內(nèi)的所有部件都被掛接在可擴(kuò)展數(shù)據(jù)總線(ScalableDataFabric)上,其中處理器是以CCX的方式掛接的,和AMD在銳龍?zhí)幚砥髦械奶幚矸绞交鞠嗤溆嗖糠职?0個通道的GDDR6內(nèi)存控制器。按照帶寬來計算的話,每個內(nèi)部通道的帶寬應(yīng)該為56GB/s——在這里,微軟用相同的顏色和樣式標(biāo)記了可伸縮數(shù)據(jù)總線和GPU部分的連接,也是采用了10個通道,但不確定帶寬規(guī)模和GDDR6連接總線是否相同。其余部分還包括系統(tǒng)連接器、I0連接器(提供了PCIe4.0x8的連接總線)以及媒體連接器。其中系統(tǒng)連接器掛接了HSP、MSP和音頻單元,媒體連接器掛接了顯示模塊、視頻解碼模塊等。需要注意的是,系統(tǒng)連接器和媒體鏈接器互聯(lián)互通,并且和HSP建立聯(lián)系,也可以通過總線和CPU、GPU產(chǎn)生數(shù)據(jù)交換。
在音頻處理方面,微軟特別介紹了XB0XX全新加入的音頻處理模塊,微軟宣稱這個模塊的單精度浮點計算能力甚至比之前XBOXOneX上使用的那個AMD八核處理器要強(qiáng)。整個音頻計算模塊包含CFPU2、Opus實時解碼器以及名為Logan的音頻計算模塊三個部分。其中CFPU2部分包含了2個4路FPSIMDDSP和4個浮點計算引擎,這些可編程的部件可以完成高吞吐量的卷積、FFT、混響和頻域音頻計算。Opus實時解碼器和采樣率轉(zhuǎn)換器能夠完成多達(dá)300個音源實時解碼計算處理。Logan核心則包含了4個DSP單元,支持SRC、aduioFX、XMA解碼等功能,主要用于完成超過300個音源的XMA硬件解碼的工作。微軟也解釋了為什么需要如此強(qiáng)大的音頻計算器,因為微軟認(rèn)為音頻是游戲中影響真實性的重要部分,比如在一些場景中可能呈現(xiàn)三四百個不同位置的音源,并可能互相影響,只有擁有強(qiáng)大的計算效能才能完成這樣的計算并帶來不錯的效果。
XBOXSeriesX處理器GPU部分介紹
在本次會議上,微軟特別提到了GPU部分的設(shè)計。微軟坦承現(xiàn)在的XB0X已經(jīng)處于落后的境地,XBOXX要實現(xiàn)的目標(biāo)是更逼真的場景、更高的分辨率和更出色的幀率,要達(dá)到這一點需要在GPU架構(gòu)上做出調(diào)整使其更有效率。
XBOXX采用的是AMD全新RDNA2架構(gòu)的GPU,這是在之前的發(fā)布會中公布的內(nèi)容,現(xiàn)在微軟帶來了更多的細(xì)節(jié)。技術(shù)特性方面,XBOXX的SoC一共擁有28個雙CU(DualCU)單元,但是目前只激活了26個。整個GPU架構(gòu)采用了統(tǒng)一幾何引擎,支持Mesh渲染幾何引擎、支持分布式原語和光柵化處理、支持屏幕分區(qū)塊進(jìn)行顏色和深度處理、支持多核控制指令、支持三級緩存和TLB等。這些新技術(shù)和新架構(gòu)設(shè)計的引入,為XB0XX的GPU帶來了更好的效能和更出色的性能,并且在控制、有效性能輸出上也會更為靈活。
根據(jù)XBOXX的GPU宏觀架構(gòu)圖來看,整個GPU部分通過共享5MB的L2緩存的數(shù)據(jù)總線和系統(tǒng)溝通,內(nèi)部的GPU計算部分被分為4組,每組擁有7個雙CU單元,并搭配了相應(yīng)的L1緩存、色彩和深度處理單元。在CU部分,每個雙CU單元擁有自己的L0緩存。通過L0、L1和L2,XBOXX的GPU組成了自己的三級緩存系統(tǒng)。此外,每兩組也就是14個雙CU單元共享光柵化、Prim、Shader輸入等單元。另外,整個GPU還設(shè)置了包括命令處理器、幾何單元、GDS、DMA、顯示輸出等功能模塊。
進(jìn)一步去了解XBOXXGPU部分的CU單元,可以看到其與RDNA的CU單元設(shè)計基本上是一脈相承的。在RNDA中,兩個CU單元捆綁在一起稱為WorkGroupProcessor。而在XB0XX中,這種結(jié)構(gòu)被稱為2CU。根據(jù)微軟的數(shù)據(jù),每一個2CU中包含了CU0和CU1兩個CU組,一共擁有4個SIMD單元,搭配4個標(biāo)量ALU單元,每個SIMD單元能夠執(zhí)行32個標(biāo)量FP32浮點的FMAD計算。那么對于一個2CU單元而言,就可以執(zhí)行128個標(biāo)量FP32的FMAD計算。在指令能力方面,每個2CU單元中的任意一個CU單元每周期都可以執(zhí)行7個指令操作,包含2個矢量ALU指令、1個矢量數(shù)據(jù)指令、2個排序和2個控制指令。這樣一來,XBOXX的一個2CU單元每周期可以執(zhí)行256個32bit的FP計算或者512個16bit的FP計算。另外,一個2CU單元中還包含了2個光線追蹤加速模塊和2個紋理模塊,以及2個L0緩存和共用的指令、排序單元等。
從XBOXX的整個GPU模塊來看的話,XBOXX中一共擁有28組2CU單元,總計3584個流處理器(每一個可執(zhí)行標(biāo)量FP32FMAD計算的單元被稱為一個流處理器,每個2CU單元有128個可執(zhí)行標(biāo)量FP32FMAD計算的單元),但是目前微軟只開啟了26個2CU單元,相當(dāng)于只擁有3328個流處理器。保留的2個2CU單元也就是大約7%的性能目前微軟沒有說什么情況下會開啟,也沒有表示有何種用處。
在性能方面,微軟給出了部分性能增長的信息。比如2013年推出的XB0X0ne,計算能力為1.3Tflops,支持DX11.1,面向1080p的顯示設(shè)備。后期推出的XB0XOneX則面向2017年的4K分辨率設(shè)備,整體計算能力也增加至6Tflops。XB0X則面向的是8K分辨率的顯示設(shè)備或者4K@120Hz的顯示器,目前計算能力為12TFlops,其余包括帶寬、三角形計算能力和像素填充能力等都是前代產(chǎn)品的數(shù)倍之多。
XBOXSeriesX的特色技術(shù)
雖然硬件計算性能大幅度提升,但是考慮到目前的游戲計算需求很高,因此微軟還在XBOXX中加入了可變像素比率渲染VRS技術(shù)。這項技術(shù)的本質(zhì)是將那些畫面中被嚴(yán)重遮擋或者玩家不太關(guān)注的區(qū)域采用較低分辨率的渲染來實現(xiàn),這樣可起到既不影響顯示效果又節(jié)約計算效能的目的。在XBOXX中使用的VRS技術(shù)以XY軸劃分8x8像素的區(qū)域為基準(zhǔn)區(qū)域,根據(jù)不同的區(qū)域位置和情況使用內(nèi)容適應(yīng)像素渲染或者動作適應(yīng)像素渲染,其中前者是根據(jù)畫面內(nèi)容來判斷縮減渲染的區(qū)域,比如玩家很難注意的部分內(nèi)容。后者是根據(jù)畫面變化情況判斷縮減渲染的區(qū)域,比如多幀畫面快速變化時的動態(tài)變化內(nèi)容。這些縮減渲染區(qū)域輸出1x2、2x1、2x2等不同的像素,整體畫面節(jié)約的像素比率在1倍到8倍之間。并且VRS技術(shù)會避免空洞、抖動或者輸出大面積的棋盤狀畫面。該技術(shù)和時間抗鋸齒(TAA)是完全兼容的,并且只消耗“微小”的面積成本,卻能夠帶來10%~30%的性能增幅。
另外一項功能被稱作取樣器反饋流(SFS),這個功能在之前文章中也介紹過,不過此次微軟詳細(xì)介紹了SFS的工作流程。SFS是XB0XX速度架構(gòu)的重要技術(shù)組成部分,其目的是根據(jù)需要向內(nèi)存中載入合適的紋理資源,而不是在任何情況下都載入全分辨率的紋理資源,后者會帶來存儲系統(tǒng)極大的壓力并且嚴(yán)重影響性能。其基本做法是在設(shè)置大尺寸紋理資源的時候,為其創(chuàng)建一系列小尺寸紋理資源,并且這些紋理資源都可以分塊進(jìn)行處理。舉例來說,一個用于4K分辨率的全尺寸1024x1024紋理資源由大小為128x128的64個區(qū)塊組成,其中等尺寸紋理資源則可以由512x512紋理、16個大小為128x128的區(qū)塊組成,小尺寸紋理資源則由4個128x128的區(qū)塊組成,總尺寸為256x256。有了全尺寸、中等尺寸和小尺寸紋理資源后,GPU在場景需要加載紋理資源時,將使用上一幀畫面的結(jié)果來確定哪些紋理需要讀入內(nèi)存,并且大多數(shù)紋理將以較低尺寸版本讀入,如果游戲需要高分辨率紋理,GPU也可以在下一幀將其替換,尤其是在出現(xiàn)較遠(yuǎn)距離的視圖或者被遮擋、不重要的場景中,小尺寸紋理就會被使用。這樣一來,整個硬件系統(tǒng)的壓力就能得到一定程度的減輕,同時并不會影響視覺效果。微軟的數(shù)據(jù)顯示這項技術(shù)能帶來最多2.5倍的內(nèi)存利用率提升以及60%的I0資源釋放,芯片面積耗費也很低,同樣是相當(dāng)“超值”的技術(shù)。
最后一個非常重要的功能就是光線追蹤。微軟宣稱XBOXX的GPU以較小的代價支持了硬件級別的光線追蹤,帶來了大約3~10倍的性能提升,但是微軟又特別強(qiáng)調(diào),光線追蹤是傳統(tǒng)游戲渲染方式的加強(qiáng),光線追蹤和光柵化渲染并不是互相替代的關(guān)系。其GPU的峰值光線方盒處理速度為380G/s,峰值光線三角形處理速度為95G/s,硬件渲染器可以完成BVH遍歷過程或者材質(zhì)渲染等。從微軟的描述來看,似乎AMD的RDNA2架構(gòu)在光線追蹤的硬件實現(xiàn)上和英偉達(dá)的方案存在較大差異,因為微軟在這里又一次強(qiáng)調(diào)了芯片成本耗費,使用的單詞是"minor",也就是較小的芯片成本耗費帶來了不錯的效能提升,相比之下英偉達(dá)在圖靈架構(gòu)中首次實現(xiàn)了光線追蹤技術(shù),其成本耗費雖然相對整個芯片面積來說不算太大,但是也不至于使用"minor”這樣的單詞,因此我們猜測AMD在RDNA2架構(gòu)的硬件光線追蹤方面有自己獨特的設(shè)計,不過微軟和AMD并未給出太多相關(guān)信息。具體的差異可能要等到AMD發(fā)布RDNA2架構(gòu)的時候才能進(jìn)一步比較了。
除了上述內(nèi)容外,XBOXX的另一個特色技術(shù)是支持機(jī)器學(xué)習(xí),這個功能主要用于游戲角色行為和分辨率縮放等,微軟宣稱XB0XX的機(jī)器學(xué)習(xí)功能只使用了極小的面積耗費,帶來的性能提升也高達(dá)3~10倍。在機(jī)器學(xué)習(xí)功能的應(yīng)用方面,分辨率縮放其實是和英偉達(dá)的DLAA深度學(xué)習(xí)抗鋸齒類似的技術(shù),都是通過先建立一個較低分辨率畫面對比較大分辨率畫面縮放差異的模型后,再使用較低的分辨率來渲染游戲畫面,并通過機(jī)器學(xué)習(xí)模塊根據(jù)之前的模型對較低分辨率畫面進(jìn)行放大。在一切適宜的情況下,這類技術(shù)能夠顯著降低高分辨率畫面的圖形渲染性能需求(畢竟實際運(yùn)算只以較低分辨率進(jìn)行),幅度甚至可達(dá)30%。除了這個功能外,另一個機(jī)器學(xué)習(xí)應(yīng)用也就是角色行為則是非常少見的,這意味著未來游戲中的角色人物有可能以比較智能的方式和玩家對話,甚至選擇游戲走向或者游戲結(jié)果等,這是比較令人驚喜的功能。另外一些新功能還包括32bitHDR、新的虛擬化支持等。
XBOXSeriesX準(zhǔn)備好了
從本文的介紹可以看出,微軟在XB0XSeriesX上帶來了大量優(yōu)秀設(shè)計,其中最核心的是AMD和微軟聯(lián)合研制的SoC,堪稱目前最強(qiáng)大的SoC產(chǎn)品之一,其性能和功能表現(xiàn)都非常出色,再加上微軟在系統(tǒng)和軟件上的優(yōu)勢,以及微軟XB0X在業(yè)內(nèi)的地位,有理由相信未來XBOXSeriesX會帶給玩家耳目一新的游戲體驗。從技術(shù)端來說,微軟已經(jīng)做得足夠好,整個系統(tǒng)架構(gòu)完全是面向下一代游戲而設(shè)計。需要指出的是,今天本文介紹的特色技術(shù)和設(shè)計依舊只是這個系統(tǒng)的一小部分內(nèi)容,包括VR、XBOX新的游戲系統(tǒng)以及未來游戲模式等內(nèi)容都沒有太多詳細(xì)的資料,畢竟這是Hotchips年會,主要面向的是系統(tǒng)和芯片。現(xiàn)在,XB0XSeriesX已經(jīng)準(zhǔn)備好了,對今年內(nèi)上市的這款游戲主機(jī),人們需要關(guān)心的除了價格,剩下的就是看看索尼會在PS5上帶來怎樣的回應(yīng)了。