• 2

顯示卡&pci-e

我是個電腦新手,最近才開始慢慢摸索...
出現了一些問題,完全找不到答案,所以來這請各位解惑,謝謝!!

1.而對於pci-e 2.0 3.0 有了很大的疑問,看了不少資料,就只大概了解2.0的速度為8G/s,3.0是16/s,而雙向就是16G/s & 32G/s,光這點我就有點不懂,雙向的意思是!? 插槽同時讀取金手指(小惡魔的電腦教室如此稱呼)的正反兩面?

2.也聽一堆人說pci-e2.0 3.0,在顯示卡上根本沒有太大的差異,因為pci-e2.0的傳輸速度就已經夠用了,但我完全找不到這是什麼意思...

我看資料,顯示卡的運作過程是...

CPU => 驅動程式 => 顯示卡上記憶體 => GPU => 輸出畫面

而pci-e的工作,是介於 驅動程式 => 顯示卡上記憶體 這個段落嗎? 但怎麼知道這個段落的傳輸量? 是遊戲本身資料的傳輸嗎? 就算是,那pci-e 3.0 不是 2.0 的兩倍,怎不會有顯著差異呢?

而以 GTX 590 舉例,

GPU引擎規格

CUDA核心 1024
繪圖時脈(MHz) 607
處理器時脈(MHz) 1215
紋理填充速率(billion/sec) 77.7
繪圖卡效能 34885.9


記憶體規格
記憶體時脈(MHz) 1707
標準記憶體組態 3072, 1536 MB
記憶體介面 GDDR5
記憶體介面寬度 768-bit or 384-bit
記憶體頻寬(GB/sec) 327.7

記憶體的時脈 比 GPU 還高,又是怎麼一回事? 而記憶體的傳輸速度,應該是記憶體頻寬? 我算了算還是不懂,768 * 1707 / 8 = 163872 Mb/s = 163.872 Gb/s,也只是327.7一半,那這跟標準記憶體組態(這只是記憶體的大小吧?)有關?還是因為雙向pci-e有關?所以乘以兩倍?但這應該是支援GPU本身的通道,應該跟PCI-E 沒有關係吧? 如果有關,每秒327.7Gb的速度傳輸,這速度也太驚人了吧,pci-e每秒也才不過他的1/10傳輸量,如果沒有關係,而單純跟GPU有關,那GPU能處理那麼多資料嗎?

這些問題真的有點混亂,也或許很好笑,但真的困擾我的腦袋,希望有前輩能指點指點,謝謝!!
2013-09-22 6:05 發佈
"那pci-e 3.0 不是 2.0 的兩倍,怎不會有顯著差異呢?"
因為現在的顯卡吃不到那麼多的頻寬 所以超過了某個限度就沒用了

"那這跟標準記憶體組態(這只是記憶體的大小吧?)有關?"
頻寬會較大應該是雙通道的關係 不只主板的記憶體可以雙通道 顯卡的記憶體也可以

"那GPU能處理那麼多資料嗎?"
顯示的數據是說..."每秒327.7Gb" 但GPU未必會把頻寬吃滿 你可以想像如果資料只有2~3G
那資料傳輸處裡的時間就會越短對於瞬間的影像生成就越快

這邊有較詳細的規格列表給你參考
http://www.hwcompare.com/9825/geforce-gtx-580-vs-geforce-gtx-590/

SkyHoop wrote:
1.而對於pci-e 2.0 3.0 有了很大的疑問,看了不少資料,就只大概了解2.0的速度為8G/s,3.0是16/s,而雙向就是16G/s & 32G/s,光這點我就有點不懂,雙向的意思是!? 插槽同時讀取金手指(小惡魔的電腦教室如此稱呼)的正反兩面?


PCI-E的上行跟下行頻道是各自獨立
下行指的是由PCI-E提共裝置(IO輸出) 傳送到 PCI-E的接受裝置(Card)
上行指的是由PCI-E的接受裝置(Card) 傳送到 PCI-E提共裝置(IO輸出)
單向指的是單只下行或是上行
雙向指的是上行頻寬+下行頻寬

SkyHoop wrote:
2.也聽一堆人說pci-e2.0 3.0,在顯示卡上根本沒有太大的差異,因為pci-e2.0的傳輸速度就已經夠用了,但我完全找不到這是什麼意思...


一台汽車的極速是160KM/H 行駛在限速200KM/H的到路上
現在開到一條限速400KM/H的道路上 它的極速一樣只能到達160KM/H

SkyHoop wrote:
我看資料,顯示卡的運作過程是...

CPU => 驅動程式 => 顯示卡上記憶體 => GPU => 輸出畫面

而pci-e的工作,是介於 驅動程式 => 顯示卡上記憶體 這個段落嗎? 但怎麼知道這個段落的傳輸量? 是遊戲本身資料的傳輸嗎? 就算是,那pci-e 3.0 不是 2.0 的兩倍,怎不會有顯著差異呢?


驅動程式使軟體層應該跟CPU放在一起

CPU透過驅動程式將資料轉譯成顯示卡能夠辨識的資料 => 透過PCI-E => 放在顯示卡上記憶體 => GPU => 輸出畫面
不會變快的理由同上

SkyHoop wrote:
而以 GTX 590 舉例,

GPU引擎規格

CUDA核心 1024
繪圖時脈(MHz) 607
處理器時脈(MHz) 1215
紋理填充速率(billion/sec) 77.7
繪圖卡效能 34885.9


記憶體規格
記憶體時脈(MHz) 1707
標準記憶體組態 3072, 1536 MB
記憶體介面 GDDR5
記憶體介面寬度 768-bit or 384-bit
記憶體頻寬(GB/sec) 327.7

記憶體的時脈 比 GPU 還高,又是怎麼一回事? 而記憶體的傳輸速度,應該是記憶體頻寬? 我算了算還是不懂,768 * 1707 / 8 = 163872 Mb/s = 163.872 Gb/s,也只是327.7一半,那這跟標準記憶體組態(這只是記憶體的大小吧?)有關?還是因為雙向pci-e有關?所以乘以兩倍?但這應該是支援GPU本身的通道,應該跟PCI-E 沒有關係吧? 如果有關,每秒327.7Gb的速度傳輸,這速度也太驚人了吧,pci-e每秒也才不過他的1/10傳輸量,如果沒有關係,而單純跟GPU有關,那GPU能處理那麼多資料嗎?


這是文字遊戲
GTX590是由兩顆GF110核心構成
所以 "GPU商的說法" 163.872 Gb/s + 163.872 Gb/s = 327.7 Gb/s
(通過SLI)

Kenny_Din wrote:
"那pci-e 3....(恕刪)

h7878220 wrote:
PCI-E的上行跟下...(恕刪)


先謝謝兩位前輩願意幫忙回答!!

正如兩位前輩所說的理論,類似車子速度、馬路寬度、速限的理論我也看很多人這樣解釋,但現在我就是不懂這些比喻對應的實際數據名詞是哪些!?

1.對pci-e而言,3.0 就像四線道的 2.0 拓展成八線道,所以傳輸速度就從 8Gb/s 變成 16Gb/s也就是可以容納兩倍的車輛前行!?有人是這樣比喻,但我不懂這樣說是不是夠貼切,因為拓寬道路,應該是強調“介面寬度”的變化,應該是bit(車道)有變多,但是這邊說的卻是“頻寬”,也就是傳輸速度,因此只要bit(車道)或是時脈(車速)一者提高就能改變,但pci-e上很像都只有在說通道,x1 x4 x16,而沒有談論到bit或時脈,所以以最大化的通道,都以x16去運作,pci-e 2.0 與 3.0 真正改變的數據 應該說是 ”車流量“ 比較貼切!?因為pci-e似乎只是種橋梁,並沒有運算的能力,所以不會有bit或是時脈的出現!?這樣說對嗎?因此應該是說“車流量”由8Gb/s 變成 16Gb/s比較貼切!?

2.而說到這,我就不了解,介面寬度(單位bit)是一種實體的克服!?還是像軟體可以被改寫!?因為顯示卡不斷進步 支援到了768bit 、384 bit,不是單一規格,而pci-e卻都可以支援,這時候如果使用“車道”理論,也就是說pci-e本身的“車道”就支援到如此多的車道!?那上限到底是多少!?也就是實體的限制,還是她是軟體可以不斷開啓bit上限,不斷的支援,亦或是這裡的768bit 與 384bit是對GPU的運作,而非是來自CPU的資料!?因為鮮少看到有人說pci-e的bit是否有上限,雖然他沒有運算能力(時脈),但他應該有bit(車道)的真實限制吧,實際插槽就那麼長,讀取的io介面就那樣,那上限是支援到多少bit呢!?

3.至於頻寬(Gb/s)又等於,車道量(bit) x 車速(時脈)= 車流量,就是一秒內所有車道,以多少速度,可以通過的車子數目!?這樣形容比較貼切!?

4.而專注於談論pci-e他的“車流量”就是支援到單向 16Gb/s ,雖然他沒有時脈與bit,但這條橋就是支援到這樣的車流量,但顯示卡對應的接收口,也就是cpu(a) => pci-e => 顯示卡(b) ,這個(b)是哪個名詞!?頻寬!?介面寬度!?時脈!?照理說應該也是對應車流量才對,但是顯示卡的 頻寬卻是驚人的327.7 Gb/s,那pci-e根本餵不飽顯示卡才對!?就像小路變道大路,那pci-e提升怎會沒有幫助呢!?遠遠不及327.7 Gb/s,亦或是這裡的 頻寬 是顯卡記憶體對自己GPU的車流量,那如果如此,顯卡真正對應pci-e的車流量的名詞數據到底是!?大家都只說這顯卡支援pci-e2.0 3.0,但卻沒有真正的車流量數據可以對應!?只能跑一些測試軟體的分數,說差距甚小!?

5.還是說到底根本是遊戲的資料量根本不夠?!一秒根本沒有16Gb那麼多的數據要通過pci-e!?所以根本浪費了pci-e3.0,而顯卡車流量更快,就更別說有什麼意義!?那如此,為什麼大家都在討論顯卡或是pci-e,而不是說遊戲餵不飽“插槽”(pci-e)!?

我知道這些問題對於專家或許無腦,或是很難說明,但還是很想知道 希望前輩能幫我解惑,謝謝!!
"而顯卡車流量更快,就更別說有什麼意義"
怎麼會沒意義? 資料傳速的速度越快 就可以減少GPU的閒置時間 更能發揮GPU效能怎麼會沒意義?

我覺得你的問題很奇怪.... 為什麼要執著在PCI-E上呢?
PCI-E 只是CPU把資料傳給GPU的途徑 CPU只丟圖面的資料給GPU資料量又不大

只要CPU能及時將資料傳給GPU不讓GPU閒置就夠了
Kenny_Din wrote:
"而顯卡車流量更快,...(恕刪)


不好意思,只是想搞懂 pci-e的運作,並不是什麼執著,而就如你所說顯卡傳輸快很有意義,那pci-e3.0傳輸速度趕得上顯卡嗎?,16Gb/s的速度怎夠呢!?能否告訴我!?謝謝!!能餵的飽327.7 Gb/s!?我只想稿懂這樣怎麼大家都說顯卡根本沒辦法 完全使用pci-e,我從這數字看上去 怎樣都看不懂,明明顯卡傳輸速度快多了,pci-e反而跟不上不是嗎? 謝謝!!

SkyHoop wrote:
1.對pci-e而言,3.0 就像四線道的 2.0 拓展成八線道,所以傳輸速度就從 8Gb/s 變成 16Gb/s也就是可以容納兩倍的車輛前行!?有人是這樣比喻,但我不懂這樣說是不是夠貼切,因為拓寬道路,應該是強調“介面寬度”的變化,應該是bit(車道)有變多,但是這邊說的卻是“頻寬”,也就是傳輸速度,因此只要bit(車道)或是時脈(車速)一者提高就能改變,但pci-e上很像都只有在說通道,x1 x4 x16,而沒有談論到bit或時脈,所以以最大化的通道,都以x16去運作,pci-e 2.0 與 3.0 真正改變的數據 應該說是 ”車流量“ 比較貼切!?因為pci-e似乎只是種橋梁,並沒有運算的能力,所以不會有bit或是時脈的出現!?這樣說對嗎?因此應該是說“車流量”由8Gb/s 變成 16Gb/s比較貼切!?


車道 比較適合用來 當作 PCI-E通道的形容
例如
PCI-E x1 一通道 可是為1個車道
PCI-E x2 兩通道 可是為2個車道
PCI-E x4 四通道 可是為4個車道
PCI-E x8 八通道 可是為8個車道
PCI-E x16 十六通道 可是為16個車道
PCI-E x32 設計規範上存在 目前尚未出現在實際應用上

另外 如我上一篇回復所解釋
在車道都塞滿車的情況下
理論車速提升2倍 = 2倍車流量
PCI-E是一種通道 他有時脈 基頻是100MB/S
計算公式:PCI-E序列匯流排頻寬(MB/s) = 序列匯流排時脈(MHz) * 序列匯流排位寬(bit/8 = B) * 序列匯流排管線 * 編碼方式 * 每時鐘傳輸幾組資料(cycle) 例:雙工PCI-E 1.0 X1 頻寬=2500*1/8*1*8/10*1*2=500 MB/s

PCI Express 1.0 匯流排頻率 2500 MHz,這是在 100 MHz 的基準頻率透過鎖相環振蕩器(Phase Lock Loop,PLL)達到的。PCI-E 2.0 匯流排頻率從2.5GHz提高到5GHz,3.0則提高到8GHz,編碼方式變成128/130。

SkyHoop wrote:
2.而說到這,我就不了解,介面寬度(單位bit)是一種實體的克服!?還是像軟體可以被改寫!?因為顯示卡不斷進步 支援到了768bit 、384 bit,不是單一規格,而pci-e卻都可以支援,這時候如果使用“車道”理論,也就是說pci-e本身的“車道”就支援到如此多的車道!?那上限到底是多少!?也就是實體的限制,還是她是軟體可以不斷開啓bit上限,不斷的支援,亦或是這裡的768bit 與 384bit是對GPU的運作,而非是來自CPU的資料!?因為鮮少看到有人說pci-e的bit是否有上限,雖然他沒有運算能力(時脈),但他應該有bit(車道)的真實限制吧,實際插槽就那麼長,讀取的io介面就那樣,那上限是支援到多少bit呢!?


介面寬度(單位bit)是一種實體的克服!
顯示卡使用的記憶體介面寬度 是一種內部的使用寬度
PCI-E 傳輸貼圖材質 進入顯示卡的記憶體內部存放
GPU透過顯示卡的記憶體存取資料
GPU越強大能夠同時處理的工作越多
同往返溝通記憶體的次數也會越多
例如貼圖 3D構圖
越大的記憶體頻寬 越不容易造成GPU的工作瓶頸

SkyHoop wrote:
3.至於頻寬(Gb/s)又等於,車道量(bit) x 車速(時脈)= 車流量,就是一秒內所有車道,以多少速度,可以通過的車子數目!?這樣形容比較貼切!?


如1.

SkyHoop wrote:
4.而專注於談論pci-e他的“車流量”就是支援到單向 16Gb/s ,雖然他沒有時脈與bit,但這條橋就是支援到這樣的車流量,但顯示卡對應的接收口,也就是cpu(a) => pci-e => 顯示卡(b) ,這個(b)是哪個名詞!?頻寬!?介面寬度!?時脈!?照理說應該也是對應車流量才對,但是顯示卡的 頻寬卻是驚人的327.7 Gb/s,那pci-e根本餵不飽顯示卡才對!?就像小路變道大路,那pci-e提升怎會沒有幫助呢!?遠遠不及327.7 Gb/s,亦或是這裡的 頻寬 是顯卡記憶體對自己GPU的車流量,那如果如此,顯卡真正對應pci-e的車流量的名詞數據到底是!?大家都只說這顯卡支援pci-e2.0 3.0,但卻沒有真正的車流量數據可以對應!?只能跑一些測試軟體的分數,說差距甚小!?


如上

SkyHoop wrote:
5.還是說到底根本是遊戲的資料量根本不夠?!一秒根本沒有16Gb那麼多的數據要通過pci-e!?所以根本浪費了pci-e3.0,而顯卡車流量更快,就更別說有什麼意義!?那如此,為什麼大家都在討論顯卡或是pci-e,而不是說遊戲餵不飽“插槽”(pci-e)!?


如上
PCI-E為什麼要餵飽顯卡記憶體的頻寬??? 這點好奇怪...看下面的圖



CPU用DRIVER解析後 透過PCI-E傳給顯卡 簡單說CPU只把要做的項目丟給顯卡而已

CPU越好解析的時間就會越短 就能及時丟給顯卡然後給GPU去運算

如果一次丟太多GPU計算不完 那你CPU再快 PCI-E頻寬在多 都沒有用 因為GPU都來不及運算

記憶體頻寬主要是給GPU用的 GPU在運算時與記憶體的之間讀寫會很頻繁
GPU作完一個運算 記憶體能馬上把下個資料傳過來 就能縮短GPU閒置的時間 讓GPU效能更好

簡單說就是因為GPU不夠力....所以PCI-E的頻寬才不需要高

CPU丟一個項目 GPU要算半天 這樣你懂了嗎? 不是CPU一次丟的多就可以了 要看GPU做不做的完

PS:CPU要丟多少工作量給GPU是軟體(遊戲)決定的 除了測試顯卡軟體跑極限外
一般遊戲很少需要很高的PCI-E頻寬 隨便找了幾個給你參考

http://www.techpowerup.com/reviews/Intel/Ivy_Bridge_PCI-Express_Scaling/3.html
http://mb.zol.com.cn/349/3490915.html
h7878220 wrote:
車道 比較適合用來 ...(恕刪)


Kenny_Din wrote:
PCI-E為什麼要餵...(恕刪)


再次感謝兩位前輩的回答,消化了好一陣子,在查點資料,似乎有點懂了,但剩下最後一個問題還是困擾了我,就正如兩位前輩所說的,顯示卡記憶體速度越快,GPU越沒有運算上的障礙,這點我理解,但是我想問一下,處理影像是不是遠比處理系統更加艱難!?因為我們電腦記憶體,ddr3也才64bit,最快時脈的2133的傳輸量也才17Gb/s,而顯示卡確使用到ddr5(順便想問ddr5是幾位元!?),且傳輸量來到327.7Gb/s

1.但是顯示卡記憶體的容量也才3G,一秒327.7Gb/s 又怎停留的進去!?只能說路過!?

2.GPU是幾位元!?跟他的記憶體一致!?還是跟電腦CPU一致!?

3.如果是跟電腦一致,那64位元的GPU,真的可以處理一秒327.7Gb/s的資料!?算來算去以GTX590去算,也頂多9Gb/s

謝謝!! 兩位前輩!!
我覺得你把GPU想的太神了...GPU不是一次計算3G的量 是一次拿一點出來計算

每次GPU計算完將資料寫入到記憶體後 再叫記憶體找新的資料出來運算 有些資料可能重複計算

期間記憶體可能會讀寫數百萬次... 如果記憶體的讀寫效率高 當然GPU的表現的效能就佳

記憶體頻寬"327.7Gb/s"這只能說明 每次GPU在要求記憶體讀寫時的速度很快


  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?