※ 引述《jk21234 ()》之銘言:
: ※ 引述《a5000ml (咖啡裡的海洋藍)》之銘言:
: : 確實是 3 倍 (720個), 可以寫程式測試, 理由在下面描述
: : 還有不是 FMAD+FADD, 而是 FMAD+FMUL
: : 詳見 realworld tech 那篇 nv 工程師團隊寫的文章
: : http://www.realworldtech.com/page.cfm?ArticleID=RWT090808195242&p=9
: : FADD太簡單了, 為它做個專屬的硬體單元划不來
: 事實上,fMUL在硬體複雜度或者是軟體的模擬上都比fADD簡單.
: 由於浮點數是以乘冪的方式儲存,所以兩個乘冪型態的乘法.
: 會很簡單處理.直接底數拿去作整數相乘,然後2^N次方的部分相加就好了
: 相對的,浮點數的加法就必須先解開乘冪.再相加後,重新計算乘冪.
: 因此這個部分的相對cost高於浮點數乘法的兩倍以上...
: (不過...以上這點和CUDA programmer沒有直接關係..除了為了補足
: GPU的浮點數的精確度不夠,採用數值方法的時候才會有一點點關連 orz)
嗯嗯, 了解~
原來是為了省晶片空間~~~ Orz
: : 嗯嗯, 這方面我會再去查清楚, 因為之前我看的是「資料線寬度」,
: : 256 bit 就是在一個 bus 的 clock 上可傳 256 bit,
: : dual channel 用互補的記憶體控制器, 達到平均在一個 bus clock 下傳送兩筆資料
: : 這技術是 AMD 和 nv 共同做出來的 (類似 dual issue 技術)
: : data rate 的倍數是在 DRAM 晶片上, 傳的時候還是要透過 bus,
: : 並不是變成 DDR5 就可以傳 5 倍.
: : 就好像 100BaseT 的乙太網路, 並不會因為電腦由 Pentium 升級成 Quad Core,
: : 而讓傳輸速度變 4 倍一樣, 頂多只是反應快一點而己
: 在你看到的資料,兩組互補的應該指的是晶片上的時脈訊號.
: DQ/DQS "互補",指的是在Clock上面的相位剛好差一半.
: 造成Clock Rate可以有有兩倍觸發的能力.
: 以你計算的公式來說,900MHZ是經過DQ/DQS等訊號
: 達成的Clock Rate(實際上經過在電路板上跑的Clock
: Rate會更低...),上下緣觸發造成有兩倍的Data Rate.
: 另外如Rambus,CPU外頻等也具有類似的特性.
: 實際的Data Rate數倍於時脈頻率.
我了解透過上下緣觸發的 double data rate (DDR, 180度 phase),
這是通訊上常見的調變方式, 除了這種方式外, 還可以調出很多種倍頻方式,
例如 FSB 是 quad data rate (QDR, 90度 phase)
我指的互補並不是訊號, 而是記憶體控制器, 利用上述的 FSB 和 DDR 之間的關係
以兩個互補的控制器 (一個開, 另一個閉)
將兩個 DDR 訊號, 塞入 QDR 的 FSB 做同步傳輸 (真實 bus clock 相同)
這種方式的優點是不需動到太多記憶線路, 以下是資料, FYI
http://en.wikipedia.org/wiki/Front_side_bus
http://en.wikipedia.org/wiki/Quad_Data_Rate
http://www.kingston.com/newtech/MKF_520DDRwhitepaper.pdf
另外 DDR2 和 DDR3 都是 64 bits wide
http://en.wikipedia.org/wiki/DDR2
http://en.wikipedia.org/wiki/DDR3
拿裸卡的照片來對照, 不太合理, 例如以下這張 9600GT
http://www.flickr.com/photos/mr9/2309892282/
上面有 8 顆 DDR3, 記憶體拉出的總資料線數目為
64 * 8 = 512
可是 nv 的 spec 寫的是 256 bits
http://www.nvidia.com/object/product_geforce_9600gt_us.html
還有 8800GTX 這張
http://www.flickr.com/photos/24293644@N05/2306085005/
有 12 顆 (應該是 DDR2 吧? 不太清楚, anyway 也是 64 bits),
由 DRAM 拉出的資料線總數為
64 * 12 = 768
可是 spec 上說它只有 384 bits
http://www.nvidia.com/page/geforce8.html
所以看起來是 dual channel 的效果, 造成拉到 DDR 的資料線數
是由 GPU 拉出的兩倍, 才會有計算頻寬時需要 x2 這個比率,
對照 kingston 那篇白皮書也比較合理 (see page.6 的算式)
http://www.kingston.com/newtech/MKF_520DDRwhitepaper.pdf
=====================================================================
對了, 不知道您有沒有興趣一起弄 realworld tech 那篇文章,
硬體您應該會比我懂 (畢竟我不是 CSIE 出身的, 很多東西我都還要翻資料)
也許我們可以在 PTT 上用定期討論的方式進行, 不一定照著它的章節翻譯
=====================================================================
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.210.207