NVIDIA GPU結構

yyfn風辰發表於2010-03-11
目前市場上的NVIDIA顯示卡都是基於Tesla架構的,分為G80G92GT200三個系列。Tesla體系架構是一塊具有可擴充套件處器數量的處理器陣列。每個GT200 GPU包含240個流處理器(streaming processor,SP),每8個流處理器又組成了一個流多處理器(streaming multiprocessor,SM),因此共有30個流多處理器。GPU在工作時,工作負載由PCI-E匯流排從CPU傳入GPU視訊記憶體,按照體系架構的層次自頂向下分發。PCI-E 2.0規範中,每個通道上下行的資料傳輸速度達到了5.0Gbit/s,這樣PCI-E2.0×16插槽能夠為上下行資料各提供了5.0*16Gbit/s=10GB/s的頻寬,故有效頻寬為8GB/s,PCI-E 3.0規範的上下行資料頻寬各為20GB/s。但是由於PCI-E資料封包的影響,實際可用的頻寬大約在5-6GB/sPCI-E 2.0 ×16)。 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE
GT200架構中,每3SM組成一個TPCThread Processing Cluster,執行緒處理器叢集),而在G80架構中,是兩個SM組成一個TPCG80裡面有8TPC,因為G80128(2*8*8)個流處理器,而GT200TPC增加到了10(3*10*8)個,其中,每個TPC內部還有一個紋理流水線。

大多數時候,稱呼streaming processor為流處理器,其實並不太正確,因為如果稱streaming processor為流處理器的話,自然是隱式的與CPU相對,但是CPU有獨立的一套輸入輸出機構,而streaming processor並沒有,不能在GPU程式設計中使用printf就是一個例證。將SMCPU的核相比更加合適。和現在的CPU的核一樣,SM也擁有完整前端。

GT200
G80的每個SM包含8個流處理器。流處理器也有其他的名稱,如執行緒處理器,“核”等,而最新的Fermi架構中,給了它一個新的名稱:CUDA Core SP並不是獨立的處理器核,它有獨立的暫存器和程式計數器(PC),但沒有取指和排程單元來構成完整的前端(由SM提供)。因此,SP更加類似於當代的多執行緒CPU中的一條流水線。SM每發射一條指令,8SP將各執行4遍。因此由32個執行緒組成的執行緒束(warp)是Tesla架構的最小執行單位。由於GPUSP的頻率略高於SM中其他單元的兩倍,因此每兩個SP週期SP才能對片記憶體儲器進行一次訪問,所以一個warp中的32個執行緒又可以分為兩個half-warp,這也是為什麼取數會成為運算的瓶頸原因。Warp的大小對操作延遲和訪存延遲會產生影響,取Warp大小為32NVIDIA綜合權衡的結果。
SM
最主要的執行資源是832bit ALUMADmultiply-add units,乘加器)。它們能夠對符合IEEE標準的單精度浮點數(對應float型)和32-bit整數(對應int型,或者unsigned int型)進行運算。每次運算需要4個時鐘週期(SP週期,並非核心週期)。因為使用了四級流水線,因此在每個時鐘週期,ALUMAD都能取出一個warp 32個執行緒中的8個運算元,在隨後的3個時鐘週期內進行運算並寫回結果。
每個SM中,還有一個共享儲存器(Shared memory),共享儲存器用於通用平行計算時的共享資料和塊內執行緒通訊,但是由於它採用的是片上儲存器,其速度極快,因此也被用於優化程式效能。

每個SM 通過使用兩個特殊函式(Special Function Unit,SFU)單元進行超越函式和屬性插值函式(根據頂點屬性來對畫素進行插值)計算。SFU用來執行超越函式、插值以及其他特殊運算。SFU執行的指令大多數有16個時鐘週期的延遲,而一些由多個指令構成的複雜運算,如平方根或者指數運算則需要32甚至更多的時鐘週期。SFU中用於插值的部分擁有若干個32-bit浮點乘法單元,可以用來進行獨立於浮點處理單元(Float Processing Unit,FPU)的乘法運算。SFU實際上有兩個執行單元,每個執行單元為SM8條流水線中的4條服務。向SFU發射的乘法指令也只需要4個時鐘週期。

GT200中,每個SM還有一個雙精度單元,用於雙精度計算,但是其計算能力不到單精度的1/8

控制流指令(CMP,比較指令)是由分支單元執行的。GPU沒有分支預測機制,因此在分支得到機會執行之前,它將被掛起,直到所有的分支路徑都執行完成,這會極大的降低效能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23057064/viewspace-629236/,如需轉載,請註明出處,否則將追究法律責任。

相關文章