張平



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