|
||||
了解完全新的SIMD和CU的概念,下面再來看看詳細的總體架構組成。和傳統的多流處理器單元組成SIMD陣列,多個SIMD陣列組成GPU的思路類似,新架構也是由包含數個計算單元的CU陣列搭建而來。雖然下面的講解只是AMD從宏觀高度的一個概覽,具體細節單元不可能面面俱到,不過我們依然能從其中得知一二。
先從顯存和緩存開始說起,我們知道從R600架構時代引入的GDS(Global Data Share)發展至今一直是GPU唯一的臨時緩衝單元,雖然RV770加入了LDS(Local Data Share)對GDS進行補充,但是從計算角度來看依然作用不大。新架構改變最明顯的一點就是會把L2緩存和顯存控制器進行搭配,每個顯存控制器可以共享64KB或者128KB的L2緩存(還不太確定),這樣以來在並行訪問顯存的時候可以大大節約寶貴的帶寬。
另外,GPU和CPU的同步也可依靠L2緩存提高效率。雖然這種緩存機制很像NVIDIA費米架構的緩存體系,但其中也存在很多差異。新架構的緩存並不與ALU直接連接,而且和GDS和LDS沒有任何關系。另外,紋理單元可以直接訪問L2緩存。這些與費米架構還是存在本質上的不同的。
與此同時,新架構的異步計算引擎(Asynchronous Compute Engines,ACE)將會充當command Processors的角色用於運算操作,而ACE的主要作用就是接受任務並將其下遣分配給CU處理(主要是分配的過程)。全新架構強化了多任務的並行處理設計,一個GPU中將會看到多個ACE用於多重並發操作,例如資源分配、上下文切換以及任務優先級決策等等。由於AMD目前尚未明確指出各個ACE之間的直接關系以及可以最多並行處理任務的數量,所以我們也不好做出猜測。
不過可以確定的是,有了ACE的直接作用就是新架構擁有了一定程度的亂序執行能力。就像上文我們提到過的一樣,雖然嚴格意義上新架構依然是順序執行架構,一個完整wavefront中的指令執行順序不能被打亂,但是ACE可以做到對不同的任務進行優化和排序,劃分任務執行的優先級別,進而優化資源。從本質上來說,這與很多CPU(比如Atom、ARM A8等等)處理多任務的方式並沒有什麼不同。
接著向下說,與目前的Cayman類似,Graphics Command Processor位於新架構的頂層,負責整個GPU組件單元執行任務的調遣(功能與傳統架構中的GCP基本相同)。在此之下,Cayman架構的『雙核心』將會被傳統的『管線』(也就是CU陣列流水線)所代替,主要負責常見的幾何和一些固定功能處理,比如曲面細分、幾何轉換以及紋理貼圖等等。
相對於傳統GPU的『既定架構』,新架構是完全可擴展的,幾何處理能力將會大大增強。經過計算單元處理之後,就是像素管線和ROP單元了(同樣可擴展),雖然AMD並未給出詳細的設計方案,但我們猜測ROP/L2緩存/顯存控制器三者之間會有緊密聯系(比如數量關系等等)。此外,AMD還透露了一點新鮮的細節:部分駐存紋理(Partially Resident Textures,RPT)。按照AMD的說法,RPT允許紋理單元的一部分載入到顯存之中,以免整個紋理單元都由顯存處理造成不必要的性能損失(一部分可能無用)。
遺憾的是,普通用戶最關心的附加功能信息到目前一概欠奉,情況很像最初費米架構初露苗頭的時候。再加上AMD Fusion開發者峰會本身主要面對開發者,所以更多是展示計算方面的細節而非圖形性能,也就不奢求更多了。