綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[顯示卡] 顯示卡詳解

 關閉 [複製連結] 查看: 1782|回覆: 0|好評: 0
跳轉到指定樓層
樓主
gj941p4204 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2015-3-19 19:11

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
顯示卡的身份到底是什麼?

一般人問到顯示卡多半會習慣用「專門處理圖形資料的另一台電腦」一詞來形容

以人類腦部作比喻的話

也許可以把主機板、CPU、記憶體等等比喻為大腦、脊髓與腦幹等

那麼顯示卡大概可以被比喻為小腦吧

如果說我們的電腦主機中幾個重要的元件:CPU 主機板、記憶體、電源供應器

顯示卡也一樣:

(GPU、GDDR記憶體)---->板卡本體、散熱器、以及電源供應端子

其中散熱器可以說是最巨大的元件

同時也多是各板卡廠商外觀上爭奇鬥豔的主要目



當然我們知道各板卡廠商所做出來的樣貌各有差異

但一樣的,我們可以看到就像是CPU有專屬電源供應一樣




除了上述的相似點之外

整台電腦需要BIOS韌體來存放電腦啟動所必須的資料

(例如開機的時脈、電壓、從硬碟、從光碟開機等等的設定)

顯示卡也需要獨立對應的驅動程式來協助運作

這些由廠商發佈的驅動程式多半都能調整顯示卡的運作時脈、風扇等等

定位確實與主機的BIOS雷同。

CPU、主機板這些基本的電腦元件需要OS(作業系統  如XP、WIN7)來驅動

實際上GPU也需要圖形驅動軟體來轉換資料(DirectX、OpenGL 等)



各種技術規格與涵義

如果主機板上的最重要效能指標是CPU

那麼顯示卡的基版上最重要的效能指標則是GPU



就像是CPU有各種時脈、快取、製程、FSB、針腳腳位

等各種不同的技術規格一般

GPU和CPU一樣都是半導體、電晶體製程之下的產物

所以一樣的  因應製程的進步

能夠塞的晶體數量也越多,整個晶片的大小也能更小,而且放熱、耗電也會隨之減少

(DieSize:GPU晶片的大小  通常越強的GPU  製作上也會稍大一點)



顯示卡與CPU的關係

CPU與顯示卡分別都對顯示效能有直接或者間接的影響

1.I7-980X這種怪物級CPU 配上8400GS這種入門卡

想打星海2是會有困難的

相對的

2.裝個Pentium4 這種古董級的CPU

然後裝個最強顯卡的5970

這兩者一樣沒搞頭....

雖然兩者的結果可能一樣悽慘  但是原因稍有不同


CPU也要負責處理從遊戲程式、驅動軟體而來的資料

而之後才透過傳輸介面交給GPU運算資料、顯卡記憶體暫存資料與輸出

那麼 我們便不難看出

CPU對顯卡效能的意義為

「能夠餵飽GPU計算前的資料轉譯需求」

所以

案例1.的問題在於

CPU處理驅動軟體的轉譯很快

但是顯示卡、「GPU已經盡全力了」

但對於圖形運算處理不來

案例2.的問題在於

CPU處理驅動軟體、所需運算問題的速度太慢

GPU游刃有餘沒錯  但「無法有效發揮顯卡潛能」



打個比方吧

GPU是個數學很強的高手  可惜他不會英文

CPU則是能把英文翻譯為中文



CPU把題目由英文翻譯為中文

然後顯示卡負責回答中文的數學問題



案例1.的狀況是  翻譯得很快  但是GPU的計算能力不佳XD

案例2.的狀況是 GPU是個超強的計算高手  可惜CPU翻譯的太慢


我們多半在意的顯卡 以及市面上所討論的顯卡

都是遊戲用顯卡

工作站用、以及專業繪圖的繪圖卡

那又是不同的設計邏輯了

但是由於真的有這樣用途的人比較少

所以我們在這裡暫且先不予討論

可能留待之後在說明吧



顯卡其實也有數種不同的規格標準

與CPU作個對照  所以我們先從核心數量講起好了?



1.顯示卡本身就是平行處理單元

所以通常可以看到多核心CPU  卻很少看到GPU是多核心的

了不起就是在張板子上塞兩顆「獨立的GPU」(例如ATI5970)

而且這樣的話  也應該說為一張板卡兩個圖形處理器  而不是單處理器雙核心

當然就像是CPU一樣  GPU如果要瘋狂提升時脈  也不如多作幾顆來的實在就是

但實際上我們知道  隨便一顆GPU實際上本體就是個超多核心處理器

也因為其設計

所以顯卡很早就能夠多卡同時並連使用  只要晶片組有支援的話



2.GPU的時脈

實際上我們可以看到GPU的時脈多半不過千

但由上一節我們卻看到了在GFlops(浮點運算)的能力指標上

高階顯卡遠遠超越高階CPU數十倍有餘

且GPU因為處理特性的關係(自然的平行處理)

相較於CPU,GPU的電晶體數量可以極大量複製

(AI 5970足足有43億顆電晶體,但一顆要3萬的I7-980X卻只有11.7億顆電晶體)

所以在這種情況下,GPU實際上並不需要太高的處理速度

ATI的顯卡多半設計的比較高時脈(主流款式約700、800Mhz起跳)

Nvidia的顯卡則多半設計的較低時脈(主流款式約500、600Mhz)

但根據市場上、遊戲上的實際表現 我們知道這兩個時脈差距並不可以直接相比的

因為製造GPU的設計並不相同

不過若是相同的設計下(例如是同張顯卡的場合下)

我們若從850Mhz超頻顯卡到1020Mhz 效能上確實是大約增強了1.2倍沒錯

*

3.顯示卡的記憶體

由前面主機板、CPU等等章節我們也提到我們需要記憶體來暫存CPU的計算結果

顯示卡也需要專屬記憶體來存放GPU的計算資料

通常是存放貼圖資料(在3D骨架上的表面圖像)

所以記憶體的容量、傳輸頻寬與速度

會直接的影響高解析度下以及高畫質貼圖下的效能表現



顯示卡也很早就開始使用DDR的技術(雙倍或更高倍傳輸 但統稱DDR)

所以我們在包裝盒上面都可以看到「GDDR3」、「GDDR5」

值得注意的是

GDDR2 GDDR3  和主機板的DDR DDR2一樣

都是實際頻率X2的技術

但是GDDR5就與兩者不同了  是實際頻率X4

所以我們可以看到中高階顯示卡 都全面採用GDDR5記憶體

如此一來才能應付需要存放極為大量浮點運算與後製資料的GPU計算結果



與記憶體的計算頻寬方式一樣,是等效時脈X匯流排介面

我們主機用的DDR3記憶體

通常是這樣

666*2*64bit/8*(1.2 {雙通道})=約10.6GB/s(理論最大值)

而顯示卡就更扯了

除了GPU直接與記憶體相連使的傳輸延遲很短之外

以5770 5970為例

預設時脈分別為

1200 1000

倍率為

X4    X4

傳輸頻寬為

128bit  256bit



1200*4*128bit/8=約76.8GB/s

1000*4*256bit/8=約128GB/s

我們可以看出其極高的傳輸速度



而就像是在主機上無限制的多增加記憶體無助於效能一般

於GPU效能不佳的情況下,再怎麼增加記憶體容量  跑星海2也不會比較順XD

記憶體容量不足會限制效能  但需求之外增加容量並不會增加效能


4.串流處理器(Stream Processor)

過去GPU內部都還有區分處理多邊型頂點和像素的Shader運算單元

但NVIDIA和ATI都已經統一其兩者為串流處理器,簡稱SP

不管頂點或像素Shader,通通都可以運算



大致可以直接想像成這個GPU是幾個小運算單元,或說幾個核心平行運算的意思

可以說是直接影響顯卡效能的關鍵

這也就是為什麼我前面說顯示卡基本沒人在講幾核心

有的話也是單板卡塞兩個處理器晶片組

因為其本身的設計上就已經是由無數個小型運算單元組成

這個設計講解起來比較複雜

基本上我們的螢幕畫面是由顯示卡分開好幾個小單元來計算

每一個單元計算一定數量的像素




這是一張Call of duty 現代戰爭2的遊戲畫面

看著這張圖  後方的椰子樹  和前方的士兵  我想不會有人覺得這兩者有單元吧?

沒錯 不只是我們人類覺得沒關連

因為這兩個是完全不相干的畫面  放在一起計算 不如分開計算要來的實在吧?

遠距離的椰子樹通常不怎麼在動  我只要處理在移動的士兵就好了




分開處理的話  計算上就能更有效率

就算是一個士兵  也不見得每個身體部位都在動吧?  就算有  動的範圍、幅度也都不一樣吧?

所以顯示的計算上是把他拆成數個極小單位  例如3X3 4X4像素左右這樣



所謂的流處理器數量

就是象徵著我們有多少個處理單元來分別處理這些更小單元

所以電晶體數量通常直接代表流處理器數量

而更多的流處理器也就表示了更好的處理性能

故此浮點運算能力就會更優良

而ATI的顯示卡、顯示晶片設計

通常一張板卡上的流處理器數量會較多 連帶的浮點運算性能較好

以5770、4850、4870、4890等中階顯卡為例 都是800個串流處理器

而Nvidia的圖形晶片

其串流處理器數量通常遠少於ATI的晶片

以當前最高階的480為例

是480個串流處理器  

這數字對比同為最高階款的ATI 5970

為3200(1600X2)個串流處理器 可以說是完全不成比例

主要是Nvidia以少數流處理器但單晶片高時脈的設計

ATI則是多晶片低時脈  結論是差不多

由於設計不同  所以不能直接以數量來評估效能差異

亦不可以直接以和流處理器數量、性能相關的GFlops以相同標準比較兩家產品

要比較的話 要把設計的差異造成的影響考慮進去

性能幾乎相似的情況下 以GFlops來檢視

N牌的顯卡GFlopsx1.5左右和ATI的顯卡的GFlops所代表的意義才會比較接近

而當相同製造設計下 串流處理器越多

理所當然的  耗電、供電需求與發熱上都會更加的嚴苛

以5770 與5870、5970作個比較

5770(小超頻)滿載時只要130W左右的供電  官方的公板TDP為110w

800個流處理器

而5870串流處理器數量為1600

耗電(滿載)就需要約  190w左右

是很可觀的數字

要是還使用多卡聯合技術的話

耗電更是可能破千



5.材質單元 與畫面輸出

老實說...我不知道材質單元放在硬體板卡上的哪裡....(爆)

可能是在接近背版輸出的位置吧XD



這也是一個影響顯卡效能關鍵(遊戲用顯卡)

但他的道理比較單純

雖然計算整個模型資料時也許訊息量相當的龐大

但因為我們的視角底下其實很多東西被遮住 或是只能看到一部份

所以透過一些硬體裝置、軟體方面的調整技術

我們就能夠在計算前 或計算中把這些單元省略掉

省下大量的計算空間與資源消耗

這就是材質處理單元在效能影響下的主要意義

同時在計算大量顯示資訊下

會有資訊的誤差與資料的損壞

所以造成毛邊、鋸齒之類的難看邊界

而我們的反鋸齒就是透過材質處理單元來去除這些問題的。
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 9碎鑽 +7 幫助 +9 收起 理由
koalabear168 + 1 好內容。朕有賞,還不謝主隆恩.
corsa918yo66 + 1 + 1 很給力!
jackielu0225 + 1 + 1 讚一個!
four35769 + 1 + 1 非常讚
wu6491 + 1
黃蝸牛 + 1 + 1 非常讚
楊xx + 1 + 1 非常讚
jj221838 + 1 + 1 非常讚
nutter2255 + 1 + 1 非常讚

查看全部評分

收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則