請問計算機架構的書,看那本好? - 顯卡

Edward Lewis avatar
By Edward Lewis
at 2009-12-03T15:03

Table of Contents

※ 引述《gaiger (hallowed be my name)》之銘言:
: ※ [本文轉錄自 C_and_CPP 看板]
: 作者: gaiger (hallowed be my name) 看板: C_and_CPP
: 標題: [問題] 請問計算機架構的書,看那本好?
: 時間: Thu Dec 3 02:13:09 2009
: 最近在自學CUDA,發現真的要對計算機架構有一定認知
: 寫出來的CUDA code才會好。
: 去翻了幾本計組的書,好像對X86以外的架構著墨都不多。
: 就算只討論x86,也沒有詳細比較各代之間的差異。

不清楚買哪本好,因為作者會著重在CPU上面.
所以你會看到很多MIPS,DEC Alpha(即使沒了),
不太願意提起的x86,摸一些Power跟ARM的東西....

: nvidia算是SIMD的變型: SIMT吧。
: 但SIMT與SIMD有什麼差別,網上爬文也不知所云。

不要這樣看,因為SIMT這個命名本身就沒有意義.就好像MIMD跟MISD
一樣不明確.

但是真正在chip上實作的multithreading有兩種

從特性分別的命名,一種為course-grained multithreading.
切細 ? 實作上就如同DEC Alpha上的SMT,或者是比較有名的實作是Intel
的Hyper Threading



=====
===== Multi-Threading
===== Register File (A~D,假定只有四個)
Cycle =======>
1
執 A C B A A A
行 A C B A B C
單 A C A A B C
元 B A D A D A
1~4(假定)

Course-Grained MT就是指在可以Out-of-Order執行的前提下,將數個執行單元
每個cycle分配給不同的Thread,以避免ILP拉不起來導致執行單元閒置.
不過通常實作來說,不傾向作超過二個thread.

那麼還有一種,稱為Fine-Grained Multithreading



=====
===== Multi-Threading
===== Register File (A~Z,不過通常上百個)
Cycle =======>
1
執 A B C D A E
行 A B C D A E
單 A B C D A E
元 A B C D A E
1~4(假定)

同一個cycle中,執行單元全部會分配給同一個thread,而且排程方式有
循序,或者是偵測到需要等外部的要等待.或者是主動交出等實作.

這種處理方式是因為要Hidden Latency.假設Thread A存取了外部記憶體,
可能要等上上百個cycle,中間的情況下Thread A只能等待,因此排程也沒有用.
中間上百個cycle就會排程給其他thread使用,不過如果說每個thread執行時
都常常要這樣等上幾百個cycle,那麼thread數量最好就多提供一些,可以達到
至少上百個,才可以保持原有的Throughput

那這種架構通常用在哪裡 ?最接近現有的GPU實作,是Intel IXP Network Processor.
(不過這架構已經賣給別人了.....),GPU和IXP都有相同的特性.除了需要可程式化外.
(GPU處理Programmagle Shader,IXP則是實作各種網路Router,色情守門員??等...)
原有的資料都是大量的streaming data,需要利用大量頻寬,卻很難使用cache重新
使用的資料.

CUDA的multi-thread屬於後者,而且很明顯的,每個block中的thread
是循序排程的.假設是1~256個thread,就是1->2->3....255->256->1
這樣照順序排程.

至於Fine Grained在其他處理器上的例子.

DX10 GPU -- 512
INTEL IXP -- 200上下吧?
Nec Niagra -- 8
Intel IA64-- 2 ...比較不能拿來參考.

: 我的認知只到這裡了。
: 那請問版上對於計算機架構熟悉的大牛,是怎學習此領域的呢?
: 謝謝。

--
Tags: 顯卡

All Comments

Lydia avatar
By Lydia
at 2009-12-07T00:41
推:)
Andrew avatar
By Andrew
at 2009-12-11T21:52
Niagra 是 SUN 的吧?一代單核4 threads,二代 8 thrds
Candice avatar
By Candice
at 2009-12-16T05:00
IA64是 不錯的東西,可惜生錯時代…
Dinah avatar
By Dinah
at 2009-12-19T02:17
Niagra是想通吃Network Processor跟CPU,所以是8 thread
IA64那個multithread就無視....純作健康的嗎??
Heather avatar
By Heather
at 2009-12-19T17:28
jk大真的很熱心XD
Jacky avatar
By Jacky
at 2009-12-24T01:00
jk大堅強!
Blanche avatar
By Blanche
at 2009-12-26T17:08
Niagara一代八個core share一個fp,二代每個core一個fp
Ida avatar
By Ida
at 2009-12-28T08:22
裡面的fp其實是用來支援sparc vis 2.0 instr set ...
覺得把他視為跟 intel mmx/sse 之流會比當他想搶GPU看適合
David avatar
By David
at 2010-01-02T07:58
GPU有太多需要fp的地方,niagara這樣的配置會炸…
Sandy avatar
By Sandy
at 2010-01-04T04:09
NetWork Processor跟低階網路server的CPU,我打錯 :P

請問4970會不會再出「單出GPU 2G DDR5」的版本

Ophelia avatar
By Ophelia
at 2009-12-03T14:32
如題, 當然現在的game中其實不多要用到「單GPU 2 G」的情形 但如GTA4 全開在 1920*1200可能就要 當然有人說只要單GPU 1G不到 : 如GTX 295 就可全開 但仍覺得單GPU 2 G仍較實在 心想,上一代A卡 4870x2單GPU 只有1 g 那這一代應要單GPU 2 g才對 不知 ...

ECS GTS250 1GB [NGTS250-1GMU-F]特價中

Zanna avatar
By Zanna
at 2009-12-03T13:57
※ [本文轉錄自 PC_Shopping 看板] 作者: askz (ask) 看板: PC_Shopping 標題: [情報] ECS GTS250 1GB [NGTS250-1GMU-F]特價中 時間: Thu Dec 3 13:55:10 2009 官網 http://ppt.cc/dld0 來源 ...

有一台老巴頓跟一張6800LE,不知PSU夠不夠力

Belly avatar
By Belly
at 2009-12-03T13:06
我有一台巴頓2500+超3200+ (1833 -andgt; 2200 MHz) 原本搭配的顯卡是AGP GF正5700 (不必外接電源) 但是顯卡最近跑起來好像怪怪的 賽車遊戲(NFS)裡的對手車子有時候會變成一陀陀糊掉的塊狀物 再加上特效也不能開得多高 所以想來把VGA換掉好了 恰好朋友有一 ...

顯示卡散熱器

Isla avatar
By Isla
at 2009-12-03T11:17
各位好,小弟的顯示卡是 憾訊4850 512mb 下面link這張 http://www.mobile01.com/topicdetail.php?f=298andamp;t=733866andamp;m=fandamp;p=1andamp;img=0 因為有裝風扇控速器 所以隨著室溫的改變 每個元件都 ...

顯卡耗電量

Oliver avatar
By Oliver
at 2009-12-03T09:37
如題 想請問大大們,有沒有辦法得知各廠牌、各系列顯卡 單獨的耗電量!?(待機or全負荷)有辦法這樣單獨量測嗎? 映象中廠家應該只會標示 and#34;建議and#34;要用幾W之類的電供來推!? - ...