close

作者: sitos (麥子) 看板: Gossiping
標題: Re: [問卦] 有沒有AMD的八卦
時間: Fri Jul 31 02:19:33 2009

※ 引述《SkyElder (不可有一絲惡念)》之銘言:
: AMD最近真的是被打假的 多核心同時脈效能都輸30%左右
: 應該不是說最近
: 應該說兩年有了
: 更久以前AMD的同時脈效能是領先INTEL的 也就是說如果同樣是跑2G
: AMD效能硬是比較快 所以他才出了一堆類似 型號是3500結果實際時脈只跑2.2G
: 玩這種把戲 就是宣稱自己的2.2G可以跑得跟INTEL的3.5G一樣快
: 事實上是沒有一樣快 可是也差不多了

intel 在 p2~p4 的時期,應該都還算是在衝 clock rate ,
要把 clock rate 衝上去的方法就是讓每一個 pipeline stage 更短,
當然相對地,做完一件事的時間需求一樣, pipeline 的深度就會變深。
透過這樣的方式,可以很漂亮地讓 clock rate 衝上去。
當時的市場看到 clock rate 就爽了,爽大家就買,效能進步其實未必很大。

pipeline 當然是增加 instruction level parallelism 的好方法,
至少課本都是這樣教的,適當地去切 pipeline 其實表現也都不錯。
不過 intel 把這個觀念玩到極致,或者說是有點過頭了。
一般課本會教的大概是 5~6 stage 的 pipeline ,
intel 切到後來大概切到 20~30 個 stage 。

如果程式的 instruction 之間真的都是 independent ,
那麼 20~30 stage 的 pipeline 效能應該會還滿不錯的。
但是因為一些 data/control dependency ,
導致前後的 instruction 其實要互等, pipeline 執行常常在 stall 。
切了一堆 stage ,但大家都在 idle ,對效能根本沒幫助。

更慘的是,這些在 idle 的 unit 還是很認真地在等工作,
所以繼續在耗電,這種爛方法搞到後來就是出現像 pentium D 這種,
又吃電又熱跑起來又不怎麼快的 cpu 。 intel 自己也知道這樣不行了,
因為這樣搞下去 power 都快要比 cpu 還要貴了。
所以才換個方向,走向 pipeline 比較不那麼深的設計方式。

早年 amd 用的策略就是跟 intel 不一樣,沒有強加 pipeline stage 。
所以才會有所謂「同時脈」比較快,但基本上同時脈沒什麼意義,
時脈本來就是看你在一個 cycle 要做多少事來決定的。
intel cpu 一個 cycle 做的事比較少,所以要用比較多的 cycle 才做完。
amd 則反過來。但基本上做完一件事所需要的時間差不了太多。
真正決勝的點還是每一個 function unit 本身的設計,
不過這些東西使用者是看不到的。

: CPU要快除了時脈以外 最重要的就是內部的構造與技術 時脈並不是關鍵
: 但近來INTEL出了新核心(從core 2技術開始) 用了新技術 把整個局勢扭轉過來了
: 也就是說 同時脈下 效能會贏AMD 30%左右
: 又 INTEL製程比較先進 比如INTEL 是45奈米但AMD只有65奈米
: 45奈米在相同時脈下 比65奈米省電1/3 當然溫度也低
: 速度也會增快(因為電路間隙縮短傳遞更快)

其實前陣子 core/core2 把 amd 搞得很慘的原因除了製程,
還有很重要的是 intel 有把兩個 die 放在同一個 package 裡面的能力。
也就是所謂的非原生雙核心/四核心。當出 amd 在廣告上面嗆 intel 不是原生四核。
不過就是因為不是原生四核,所以四核需要的是兩個小 die 不是一個大 die ,
die 的成本和面積平方成正比,拆開來作就便宜多了。
再加上非原生四核的缺點主要是差在 core-to-core 的溝通上面。
不過一來是實際使用平行程式的使用者不多,未必感受得到差異。
二來是,管理作得好一點,差別也沒有真的太多。

而可憐的 amd 因為沒有這種技術,所以硬要一次作四核,
在製造過程中要保證一整個大的 die 都是好的,成本就上去了。
賣得貴又跑得沒快多少,誰要跟你買。 XD
有人說 amd 搞三核心就是為了壓低售價,只壞掉一個核心的還是可以拿來賣。
不過我沒有去看過 spec ,不知道是不是真的這樣搞。
因為那麼產品連我的好奇心都沒挑起來。

: AMD最近完全是靠顯示卡在撐
: AMD(ATI)的顯示卡蠻威的
: 雖然我用INETL的四核 但我買AMD的顯示卡
: ATI的顯卡最近很威 具有高CP值與高畫質 把Geforce整個打趴了

事實上再過一陣子, amd 可能都還是得要靠 gpu 來撐。
依照目前 gpgpu (general purpose gpu)的發展來看,
獨佔鰲頭的應該是 nvidia 的 cuda 。
但是 cuda 架構有一個很大的缺陷,因為 cuda 在運算的時候,
資料和程式都必須要放在 gpu 的記憶體裡面,雖然 size 也是問題,
但不是最大的問題。最大的問題在於這些程式和資料,
必須要先從 main memory 搬到 gpu memory 上面。
而算完之後,還要從 gpu memory 再搬回 main memory 。
很多不是真的計算量很大的程式,搬的時間就比算的時間還久。
這種程式用 cuda 不會有加速的效果。

因此可能的方向應該是要讓 gpu 也可以存取 main memory 。
早先的 intel system 是把 memory controller 放在 north bridge 上面,
可行的作法是把 gpu 也放在 north bridge 上面。
以前內建顯卡有的就這樣做,然後扣掉一點 main memory 的大小。
如果這塊不是被「切出去」,而是共享。
那麼就可以讓 gpu 不用花額外的時間去「搬」資料。

但是 intel 不太可能讓 nvidia 染指自家的 north bridge ,
不管是專利或是介面, nvidia 作為 intel 主要對手之一,合作是要很小心的。
而現在這個可能性又更小了,因為從 core i7 之後,
memory controller 已經做在 cpu 裡面。
事實上先這樣做的是 amd ,但這只是設計的決策不同,
intel cpu 現在才有這個需求,所以現在才作這種整合。
那麼 intel cpu 更不可能跟 nvidia gpu 做在一起。
所以 intel 只能期待自己的 gpgpu 可以跟上 nvidia 跟 ati 。
那東西的名字是 larrabee ,但現在看起來跟一般的 cpu 還差得遠。
(詳細的資料可以查 wikipedia 或 google 一下,
很有趣的是它是一個用 x86 instruction set 的 gpu)

而 amd 的好處是有了 ati 的技術,可以把 cpu/gpu 做在同一塊 die 上。
cpu 輸 intel 一點, gpu 跟 nvidia 不相上下或再好一點。
透過可以 share main memory ,省去資料搬移的時間,
會讓 gpgpu 的應用更有吸引力, overhead 變少, performance 就出來了。
相較於 nvidia 提出 cuda 的架構, amd/intel 之後應該會 follow OpenCL 的規範。
不過目前還不是很具體,但希望未來是有一個統一 cpu/gpu 的 programming model 。
也就是寫一份程式,自動會把工作分散到 cpu/gpu 讓它們協同工作,
以達到更好的效能。

至少在這一塊未來的發展上面, amd/ati 是很值得期待的,
現在就看看 intel 在 gpu/gpgpu 這一塊要拿出什麼來應對。
在 gpp (general purpose processor) 上面 intel 已經超強了,
amd 快要不足以被當作對手。不過在 gpu/gpgpu 上面還很嫩。
amd 這塊如果能加緊腳步應該還滿有機會的,不過目前看起來有點....
該怎麼說呢? 口號喊了一兩年,東西卻沒做出來半個,讓人滿擔心的。
(不過 intel 的 larrabee 也是喊了好一陣子,效能一直長不太出來。 XD

補一下好了,講錯就請糾正。這些東西在頭腦裡都揪成一沱了...

--

活著的目的是為主活 然後為主死

死亡的目的是為主死 然後為主活


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.178.71
[1;31m→ [33mgg123sf [m [33m:計組計結魂!! [m 07/31 02:20
[1;31m→ [33mgg123sf [m [33m:其實clock rate衝高系統反而容易掛 現在主戰場是分工合作 [m 07/31 02:21

我不太確定你說的容易掛指的是哪個部份。如果單純是同一種架構,
clock rate 高的確可能會因為 technology variation 造成訊號錯誤的情況。
降頻一下,等訊號穩定再讀就沒問題了。 :)

分工合作的部份我猜你是說用特殊的指令集或 function unit 來加速。
這部份也是做得.... 我個人覺得有點過火了 XD
MMX/SSE/SSE2 之後來有一個什麼來著的... 忘了。
雖然都是 x86 ,但多出來的東西,舊的機器可是一概不支援的。

[1;31m→ [33ma0801284545 [m [33m:太專業 看無 [m 07/31 02:22
[1;37m推 [33msunsonsam [m [33m:原來clock rate跟pipeline有關聯..................... [m 07/31 02:23
[1;37m推 [33mmagecandy [m [33m:半吊子鄉民:你幹嘛講話不用中文好好講 要夾一堆英文? [m 07/31 02:23
[1;37m推 [33mzoo3021515 [m [33m:專業推 [m 07/31 02:24
[1;31m→ [33mcloud7515 [m [33m:8核心! INTEL:我多你八核心 [m 07/31 02:24
[1;37m推 [33mautoupdate [m [33m:用中文講 五樓也是看不懂 [m 07/31 02:24
[1;31m→ [33msidi [m [33m:好我看懂一個 時脈 這樣可以了可以了吧 [m 07/31 02:24
[1;37m推 [33mruemann [m [33m:他用的英文還可以啦,只是北橋用英文會比較好? [m 07/31 02:24

抱歉,也許用北橋講就好了。 :)

[1;37m推 [33mdingyuchi [m [33m:推一下 這篇應該要給M [m 07/31 02:24
[1;31m→ [33mfeizizi [m [33m:你會不會太猛了啊??? 連GPU你都能投頭是道 拜服啊 [m 07/31 02:25
[1;37m推 [33mGTOKevin [m [33m:專業推 [m 07/31 02:25
[1;37m推 [33mcaptdavince [m [33m:推啊~接下來就是整合cpu和gpu在同一塊上了吧 [m 07/31 02:26
[1;37m推 [33mpdaer [m [33m:越跑越快越跑越吃電 以後玩遊戲耗電量跟煮火鍋一樣了 [m 07/31 02:26

要記得買電扇...

[1;37m推 [33mruemann [m [33m:cpu整合gpu……有應用再說吧,m$不支援api的話,就沒用了 [m 07/31 02:27

已經有應用了阿。可以到 nvidia 的網站上面找 CUDA 。
如果你有 8400 以上的板子就有支援,可以跑跑它的 demo 程式。
(當然要裝一些 nvidia 提供的軟體)
會比用 cpu 跑快非常非常多。

而且開發介面也可以跟 vs 整合在一起, m$ 沒道理去擋這東西,
對他們一點壞處也沒有。 :)
※ 編輯: sitos 來自: 60.248.178.71 (07/31 02:31)
[1;37m推 [33msunsonsam [m [33m:不太懂時脈跟管線深度有什麼關係 時脈不是震盪器給的嗎 [m 07/31 02:27

時脈的極限是來自於一個邏輯電路的訊號多久穩定到可以被讀出來,
而訊號穩定取決於線路的長度還有一些設計相關的參數,
我不是做 EDA 的,所以細節不是非常清楚。

用一個過度簡化(不真實)的講法來講,假設你要做的事情有五件事,
每一件事要做一秒,你五件事永遠要一起做,你就是要花五秒才能做完一件事。
而且因為五件事都一定要一起做,所以同時也只能做其中的某一件。

如果你可以把五件事拆開給五個人做,每一個人做一件事,就只需要一秒。
第一個人做完,就把事情交接給第二個人,他又可以再去做另一件事。
而這時候,我們可以把交接想像成一個檢查點,也就是一個時脈週期。

所以,事情拆得越散,做完「一件」需要的時間就越短,時脈就可以越高。
大致上的概念是這樣子,實作上當然還有很多其它需要考量的問題。

英文用少一點會比較好嗎 :)

[1;37m推 [33mOpenGoodHate [m [33m:底層達人出沒請小心 [m 07/31 02:28
[1;31m→ [33mfeizizi [m [33m:八卦就是要有這種水準的文章才high啊~~~ XDDDDDDD [m 07/31 02:28
[1;37m推 [33mreallocust [m [33m:4850的GPU已經夠拿來煮火鍋了...(X的,現在房間超熱的) [m 07/31 02:28
[1;37m推 [33mmike1990 [m [33m:看完了 還是看的懂耶 呵呵 [m 07/31 02:29
[1;37m推 [33mfin806 [m [33m:GPU->CPU山寨板 比CPU威 還可以煮火鍋 [m 07/31 02:29
[1;31m→ [33mOpenGoodHate [m [33m:22台i7+GTX275 開下去冷氣會滴水 [m 07/31 02:30
[1;31m→ [33mkslman [m [33m:下次整篇英文才不會被酸 [m 07/31 02:30
[1;37m推 [33mallen7976 [m [33m:I 怎麼都 watch 不懂... [m 07/31 02:30
[1;37m推 [33mAAAA [m [33m:很多東西翻成中文反而會更不順 [m 07/31 02:30
[1;37m推 [33meric93 [m [33m: [m 07/31 02:30
[1;37m推 [33mHornyDragon [m [33m:酸的人可以把這篇的英文都翻成中文試試看...... [m 07/31 02:30
[1;37m推 [33mskciv [m [33m:白算盤 [m 07/31 02:31
[1;31m→ [33mOpenGoodHate [m [33m:GPU有自己的核心,記憶體跟板子,但是還不能宣佈獨立 [m 07/31 02:31
※ 編輯: sitos 來自: 60.248.178.71 (07/31 02:35)
[1;37m推 [33mikari512 [m [33m:推 autoupdate:用中文講 五樓也是看不懂 [m 07/31 02:32
[1;37m推 [33masgard1991 [m [33m:只能推了 囧"> [m 07/31 02:32
[1;37m推 [33mleopastiom [m [33m:趕快推 不然人家以為你看不懂!!!!!!!!!!!!!!!!!!!! [m 07/31 02:32
[1;31m→ [33mikari512 [m [33m:不然5F翻成中文來看看呀。 [m 07/31 02:33
[1;37m推 [33mtonyselina [m [33m:前面兩段是計概必念的聖經白算盤第四版嗎? XDDDDDDDD [m 07/31 02:33

不知道。我只知道計結課本考試範圍考前我一個字一個字念過了。念完,就忘了。

[1;37m推 [33msunsonsam [m [33m:GPU搬MEM的部份 似乎把記憶體加大就可以解決? [m 07/31 02:33

加大不是很有用,基本上問題是出在,有些事 gpu 不能做(或說 cpu 做才快),
有些是 cpu 不能做(或說 gpu 做才快),為了要快,就要一直交接事情(搬資料)。
問題不在於資料放不下(如果是放不下加大就好了),問題是在於搬來搬去。

就像是你要跑公文,公文量可能不是很多,如果公文量太多,大不了用大一點的袋子。
但是你要把公文在各單位之間跑來跑去,就算公文只有一份,還是很花時間。

[1;37m推 [33mAtzivan [m [33m:寬度一樣,長度改變的管子,流速會變快嗎? [m 07/31 02:34
[1;37m推 [33mertyhnm [m [33m:專業文推 [m 07/31 02:34
[1;37m推 [33mVictorTom [m [33m:推專業:) [m 07/31 02:34
[1;37m推 [33mruemann [m [33m:要搬移就要時間,不管是用dma還是什麼鬼方法都不會比share [m 07/31 02:34
[1;31m→ [33mruemann [m [33m:快吧 [m 07/31 02:34
[1;31m→ [33mtonyselina [m [33m:這邊要幫糖糖說話,他是模擬半調子吧? XDD [m 07/31 02:34
[1;37m推 [33mSILee [m [33m:to sunsonsam:因為要拉時脈就必須要縮短stage [m 07/31 02:34
[1;37m推 [33mkingofsdtw [m [33m:看 八卦長知識 [m 07/31 02:35
[1;37m推 [33mherman602 [m [33m:5專業 [m 07/31 02:35
[1;31m→ [33msunsonsam [m [33m:不會 但是水全部都在管子裡面就不用到外面去拿 = 變快 [m 07/31 02:35
[1;37m推 [33mikari512 [m [33m:糟糕 好像真的是反串 我酸錯人了XDrz [m 07/31 02:35
[1;31m→ [33mSILee [m [33m:問題是要做的事情還是一樣多,所以pipeline會變深 [m 07/31 02:35
[1;31m→ [33mikari512 [m [33m:5F有個分號 整句文意都變了 囧!! [m 07/31 02:36
[1;37m推 [33mogcxd [m [33m:I服了YOU [m 07/31 02:36
※ 編輯: sitos 來自: 60.248.178.71 (07/31 02:39)
[1;37m推 [33mruemann [m [33m:pipeline太深,如果碰到要清空pipeline時,代價也變高 [m 07/31 02:36
[1;31m→ [33msunsonsam [m [33m:SILee 意思是stage過大而時脈過高容易出錯 是這樣嗎= = [m 07/31 02:36
[1;37m推 [33mchoupi [m [33m:y老師lab的強者出馬 當然要開本尊上來推一下!! [m 07/31 02:37
[1;31m→ [33mSILee [m [33m:sunsonsam你是EE或CS相關科系出身的嗎? [m 07/31 02:38
[1;37m推 [33mtonyselina [m [33m:剛剛翻了一下,是白算盤第六章內容、、、 [m 07/31 02:38
[1;37m推 [33mikari512 [m [33m:sunsonsam:時脈高不代表容易出錯 而是出錯的話會很痛 [m 07/31 02:39
[1;37m推 [33mtnav [m [33m:是麥子大 ... [m 07/31 02:39
[1;37m推 [33mgg123sf [m [33m:這種東西好像只有電機電子資工在學的樣子.. [m 07/31 02:39
[1;31m→ [33mSILee [m [33m:如果不是的話很難跟你解釋這個觀念 0rz 小弟不擅長教學 [m 07/31 02:39
[1;31m→ [33mikari512 [m [33m:sunsonsam應該不是 所以可以練習用白話文解釋看看XDD [m 07/31 02:39
[1;31m→ [33mikari512 [m [33m:我要修正一下 是stage太多會很痛 跟時脈不直接相關orz [m 07/31 02:40
※ 編輯: sitos 來自: 60.248.178.71 (07/31 02:40)
[1;37m推 [33mukimiu [m [33m:推!!看得非常舒服,精闢好文!!值得M XD [m 07/31 02:40
[1;31m→ [33msunsonsam [m [33m:我是EE 我知道clock太高會有東西跟不上就出錯 [m 07/31 02:41
[1;31m→ [33mSILee [m [33m:而且這要畫圖會比較好解釋,BBS很難畫圖 [m 07/31 02:41
[1;31m→ [33msunsonsam [m [33m:可是我不知道跟pipeline有什麼關聯= ="我知道我沒學好XD [m 07/31 02:41
[1;31m→ [33mSILee [m [33m:是EE出身的話你該去重K白算盤啦 = =" [m 07/31 02:42
[1;37m推 [33mAssyla [m [33m:計組魂 [m 07/31 02:42
[1;31m→ [33msunsonsam [m [33m:XDDDDD 小的知錯 [m 07/31 02:42
[1;37m推 [33mjeta890119 [m [33m:專業推 [m 07/31 02:44
[1;37m推 [33mcostbook [m [33m:如果能把OS的設計一起分析就更好了 \\\


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 jackc 的頭像
    jackc

    jackc碎碎念~~~

    jackc 發表在 痞客邦 留言(0) 人氣()