Sandy Bridge處理器圖形核心

簡而言之,就是特別重視低成本化,英特爾的CPU已是普遍銷售了,但圖形核心還沒達到此種程度。這是因為其性能效率以及程序通用性都比較弱。與此相反的是,Sandy Bridge的圖形核心比較注重GPU性能和電源效率之間的成本比,更多的考慮了通用性。

Sandy Bridge圖形核心的目標在于,將較高的3D圖形性能和面向通用計算功能,以及有效進行媒體處理組合為一體。具體來說,(1)固定在處理器上的功能單元組合保證了3D圖形的有效實現,(2)補充面向通用計算和媒體處理的指令和功能,(3) 由此強化媒體處理的固定功能單元。這些的改進將從新一代Sandy Bridge開始。

這些改進多半是為了跟進其他公司在GPU內核上的發(fā)展。而英特爾獨有的部分與其他公司的GPU內核技術上還存在著許多差距。英特爾在其9月舉辦的英特爾信息技術峰會(IDF)上已做過簡要的說明,從其說明看來,傳統(tǒng)英特爾圖形的弱點還是顯而易見的。而NVIDIA和AMD的GPU的優(yōu)勢也是相當明顯的。

基本的整體架構繼承了傳統(tǒng)的英特爾圖形核心

Sandy Bridge圖形核心的整體架構遵循了英特爾傳統(tǒng)的內核架構。下圖是根據英特爾的基本描述而得到的標準GPU結構圖。利用這樣的方式可以清楚地說明英特爾所保持的大框架相關內容。

Sandy Bridge圖形內核的整體架構

圖上方的排列是3D通道和控制單元群。這些圖形通道頂部是必要的像素處理單元,可進行早期的Z檢驗。

Intel架構中的各個處理器被稱之為"EU(執(zhí)行單元)"。如果要計算Intel圖形處理器的數量,一般以EU來計數,EU實際上就是SIMD(單指令多數據流)型的運算處理器。

EU陣列右上角是媒體堆棧。除有固定功能的視頻解碼器, EU陣列還運行媒體處理和控制單元。

EU陣列右邊是從內存中讀取數據的紋理采樣器處理單元。紋理采樣器在內存中讀取紋理以過濾3D圖形管道,它為各個EU所共有。

紋理采樣器內存(Sandy Bridge內部的環(huán)形總線)直接連接在總線的內存接口。傳統(tǒng)的英特爾圖形核心從緩存中讀取紋理。從圖中可推斷,Sandy Bridge的圖形核心可能采用了相同的結構。而核心的存儲器層次結構則可能發(fā)生了變化。

另一個是媒體采樣器,是媒體處理專用的過濾器。它也與系統(tǒng)內存接口相連,并有可能與紋理采樣器共享。

此外,也像普通的GPU一樣進行像素單位操作(ROP)。像素操作內存(Sandy Bridge內部的環(huán)形總線)也是與系統(tǒng)內存接口直接相連。

因此,Sandy Bridge圖形核心具備了一般的GPU單元。而這一點,即使是同樣的英特爾架構幾乎也沒有固定處理功能塊,而軟件處理器Larrabee就大為不同。Larrabee的光柵和ROP單元沒有GPU所必需的功能塊。

固定硬件的處理器運行EU的卸載

Sandy Bridge圖形核心的基本結構遵循了英特爾傳統(tǒng)的圖形核心。而在3D圖形和媒體處理方面卻與傳統(tǒng)存在著很大區(qū)別。這是處理器的軟件處理等固定功能單元執(zhí)行的硬件處理。

軟件處理和硬件處理的比較

據說新一代英特爾集成顯卡設計已在處理器EU的3D圖形管道中模擬了許多內核程序的固定處理。英特爾表示這是為了減少圖形核心的晶片面積。減少固定單元所占有的晶片面積,可降低核心的可編程單元。

這種方法使得每晶片面積的性能有所提高,但在電力消耗方面卻表現不佳。通常,固定功能單元功耗最低,而可編程處理器功耗更多。因此,傳統(tǒng)的英特爾圖形核心每瓦的性能決不會很高。于是,3D圖形管道的固定功能基本是封裝在固定硬件上。

英特爾研究員兼圖形架構總監(jiān)Thomas Piazza 表示:"過去曾考慮過每部分管道是否可以運行程序,如果可能的話,將會被設計用于運行程序。然而,Sandy Bridge考慮是否需要運行程序,如果沒有必要,將通過硬件封裝固定功能來實現"。

卸載固定硬件的驅動程序

處理器運行的同時,也盡可能多的卸載固定功能單元。這是優(yōu)先考慮吞吐量和電力效率的常規(guī)性方法。這樣一來便可提高圖形處理的電源效率,降低延遲,增加吞吐量。

Sandy Bridge處理器顯卡的性能優(yōu)化

Sandy Bridge圖形核心的這些改進結果原理上不只提高了每瓦的性能,還卸載了驅動程序。因為具有固定功能的API,將不再需要處理器程序的JIT編譯器進行轉換。Piazza表示:"驅動程序相比之前在運行時間上將有顯著的減少"。

英特爾表示降低了驅動程序所需的CPU性能如時鐘,也降低CPU功耗。換句話說,當圖形處理時,圖形核心的電源效率以及驅動程序的運行時間都將有所改善。

英特爾新的圖形核心改善了固定功能硬件效率,它對比于其他廠商,并沒多大創(chuàng)新。而重要的一點是,英特爾設計策略的180度大轉彎–"GPU圖形核心猜想"。

這和Larrabee時"CPU的圖形核心猜想"是完全相反的。固定硬件將盡可能消除英特爾Larrabee試圖用處理器進行處理的情況。

擴展現有EU運行的應用軟件

由于在3D圖形管道中固定處理,固定處理硬件可實現高效率運行3D圖形。EU將本來集中處理的利用固定功能模擬分開。Sandy Bridge架構這樣的改進已經開始。

Sandy Bridge的改進點

同時Sandy Bridge處理器EU的改進使它們可以得到更廣泛的應用。更復雜的著色器和非圖形通用計算程序的改善使得處理器更容易運行媒體處理程序。

具體來說,擴展寄存器文件,強化控制矢量的流量控制,減少數量的復合必須加強定點整數運算,通過削減指令步驟來減少 CISC(復雜指令集計算機)指令復合,強化固定硬件的整數運算,附加數據格式轉換及其他指令,變換矢量大小,增加超越函數吞吐量,以上均由官方在IDF 上發(fā)布。Sandy Bridge EU的這些改進部分不僅提高了架構的吞吐量,還拓展了程序有效的運行范圍。

消除在增加寄存器時寄存器的溢出量

首先, EU寄存器文件大小增加了。到目前為止,英特爾圖形核心寄存器文件是有限的,但寄存器是不夠的。因此,EU必須有能力處理寄存器文件溢出,這就不得不從高速緩存和內存寄存器撤出數據。

然而,這樣處理寄存器溢出可降低吞吐量,通過移動不必要的數據也可減少電力消耗。因此,英特爾Sandy Bridge擴展寄存器文件,在大多數情況下,都必須存儲在物理寄存器中。Piazza 解釋道,據估計寄存器溢出功能都是由硬件負責處理。

Sandy Bridge的晶片布局

一般而言,GPU在每線程的物理寄存器的數量是不固定的,比如在本地著色器在運行期間被分配給圖形指令。通常圖形只需要少量的寄存器(一般4到8個),而通用程序最佳情況是需要32個寄存器。但當啟動一個線程時,必須減少寄存器的每個線程。

GPU的多線程較強的隱藏了內存延遲,大量的啟動線程需要大量的寄存器。如果限制啟動線程數量,將有可能停頓內存延遲。隱藏CPU緩存延遲,也將隱藏GPU的寄存器延遲。

通用程序和復雜著色器需要更多的寄存器來壓入寄存器文件。在這種情況下,要啟動一定數量的線程,物理寄存器將從內部和外部存儲器上讀取數據以避免不回收而造成的數據丟失。據推測目前的英特爾圖形就是這種情況。

這將解決寄存器文件擴展名的問題。當然增加寄存器數量也會占據晶片面積。事實上,NVIDIA和AMD的GPU都存在著寄存器占用晶片面積的情況。英特爾圖形核心也將面臨這種情況。

分享到

zhabin

相關推薦