開創(chuàng)DX11宏圖霸業(yè)!鐳HD5870權(quán)威評測
第五章/第三節(jié) RV870核心控制引擎
R870的圖形架構(gòu)可以拆分為以下幾個模塊,一個一個來看都有什么改進(jìn):
- Command Processor(指令處理器)
- Graphics Engine(圖形裝配引擎)
- Ultra-Threaded Dispatch Processor(超線程分配處理器)
- Stream Processing Units(流處理器)
- Texture Units(紋理單元)
- Cache & Buffer(緩存及緩沖區(qū))
- Shader Export & Render Back-Ends(像素輸出部分)
- Memory Control(顯存控制器)
- Display Controllers(輸出接口控制器)
● Command Processor(指令處理器)
Command Processor負(fù)責(zé)從PCI-E總線發(fā)出或者接受指令流,讓GPU在驅(qū)動程序給定的時間間隔中完成恒定數(shù)據(jù)流操作,此過程需要通過Parallel DMA Engine,調(diào)用系統(tǒng)內(nèi)存或者是本地顯存的相關(guān)資源。
● Graphics Engine(圖形裝配引擎)
之前這個模塊被稱為Setup Engine,是GPU負(fù)責(zé)指令分配和安裝的模塊,主要負(fù)責(zé)給GPU內(nèi)部各大模塊將要執(zhí)行的指令準(zhǔn)備數(shù)據(jù),我們將其稱之為裝配引擎。裝配引擎之中有很多模塊,包括Tessellator(鑲嵌器)、Vertex Assembler(頂點(diǎn)裝配器)、Geometry Assembler(幾何裝配器)、Rasterizer(光柵器)、Hierarchial-Z(多級Z緩沖模塊)等。
RV870相比RV770,最主要的變化就是擁有兩個光柵器和多級Z緩沖模塊,而此前的GPU都只有一個。這可不是因?yàn)镽V870本身是“雙核”的關(guān)系,因?yàn)轫旤c(diǎn)裝配器和幾何裝備器都只有一個。
裝配過程:頂點(diǎn)數(shù)據(jù)裝配完畢后,頂點(diǎn)三角形內(nèi)插操作不再使用獨(dú)立的硬件單元,而是交由流處理器處理,由DX11中新增的外殼著色器和域著色器替代,這兩個著色器將輔助鑲嵌器進(jìn)行細(xì)分操作,生成新的頂點(diǎn)。
接下來三角形頂點(diǎn)的2D坐標(biāo)信息經(jīng)過Rasterizer(光柵器)之后就得到了像素信息,也就是得到了屏幕上每個點(diǎn)的數(shù)據(jù)信息。進(jìn)行這部分操作的時候也經(jīng)過掃面轉(zhuǎn)換生成了每個點(diǎn)的Z軸信息,這些信息將被傳輸?shù)絑軸緩沖之中,以備后用。
現(xiàn)在我們就可以理解為什么RV870要設(shè)計兩個光柵器和多級Z緩沖模塊了,因?yàn)镈X11 Tessellator的關(guān)系,最終的模型將變得十分復(fù)雜,需要處理的指令數(shù)量很多,合理的分配任務(wù)并暫存數(shù)據(jù)很關(guān)鍵。RV870改進(jìn)了連續(xù)存取緩存時的性能。
Hierarchical Z是一項(xiàng)非常智能的技術(shù),在GPU完成坐標(biāo)轉(zhuǎn)換之后,Hierarchical Z會不斷對比各個頂點(diǎn)的Z軸位置,一旦Hierarchical Z發(fā)現(xiàn)這個頂點(diǎn)不需要顯示,將會直接將其剔除避免后續(xù)無效渲染,它將有效控制由Tessellator所帶來的性能損失。
即便是在DX9或DX10應(yīng)用中,雙倍的Rasterizer和Hierarchical Z也能大幅提升GPU在高分辨率和多屏超高分辨率下的性能表現(xiàn)。
● Ultra-Threaded Dispatch Processor(超線程分配處理器)
最后,所有的像素/頂點(diǎn)/幾何/紋理/顏色等數(shù)據(jù)經(jīng)過Interpolators(排序器)之后交給Shader進(jìn)行處理,當(dāng)然在此之前還有一項(xiàng)必備的工序,那就是數(shù)據(jù)的重新封裝打包,以及指定相應(yīng)的統(tǒng)一渲染單元運(yùn)算,這部分任務(wù)由超線程分配處理器完成。
關(guān)注我們
