[笨問題] 所以AMD Barcelona是「真」四核?對手就是「假」四核嗎?


hch3duserv2 wrote:
( 我現在這台是杜龍 600 用幾年後 只換 CPU 到 K7 2000 B版 )


我現在這台是P4-640
一樣是單核
但你說的情況我完全沒遇到過
我相信只要你換個兩年前的K8單核可以馬上感到使用上的順暢
Hiro hyn hi^dh ab 'wanath......
話說計算機的效能不一定會和核心的多寡成正比
如以下的程式

int a[5]={1, 2, 3, 4, 5};

for(int i = 1; i < 5; i++){
a[ i ] = a[ i ] + a[i-1];
}

// a 有 0 ~ 4 項, 以上的程式執行 a 的第 i 項為 a 的第 i 項與 a 的 i-1 項相加的動作 (support i 自 1 至 4)

執行完成後,陣列的結果由 1, 2, 3, 4, 5 變成 1, 3, 6, 10, 15
像這樣無法平行處理的演算法,就算使用再多個核心也沒辦法提升執行所需的時間

要發揮多核心的效能,還是得靠軟體的配合
nacestudio wrote:
話說計算機的效能不一...(恕刪)


這行程式雖然沒辦法讓多核心有加強效果,但多核心可以一次執行多條像這樣有相依性的程式

如果軟體本身可以拆成好幾個平行的Thread,多核心的效果就會很明顯。
nacestudio wrote:
int a[5]={1, 2, 3, 4, 5};

for(int i = 1; i < 5; i++){
a[ i ] = a[ i ] + a[i-1];
}
...(恕刪)


這個例子舉得似是而非,要減少這種資料相依性造成處理器執行單元的pipeline stall,由執行單元進行data forwarding是一種,由編譯器進行最佳化也是一種方式,多核心的設計,本來就不是為了加速你舉的這個例子的。
G.F wrote:
這行程式雖然沒辦法讓...(恕刪)


多個thread也得由作業系統來安排執行
所以擁多核心同時也得要讓作業系統支援才可以
windows xp professional 最多只支援2個核心,
如果用4核心的cpu+win xp pro,恐怕就會讓人失望了

多個thread雖可同時執行,但似乎卻不得同時存取主記憶體
而thread或process之間很少是independent的,
所以也會常常等來等去,這個也需要考慮在內


nacestudio wrote:
話說計算機的效能不一定會和核心的多寡成正比
如以下的程式
int a[5]={1, 2, 3, 4, 5};

for(int i = 1; i < 5; i++){
a[ i ] = a[ i ] + a[i-1];
}

您提這段code似是而非
多核心本來就不是用來處理這種Single Thread的程式
而在於可以同時執行多個程式
也許各程式中又有多個Thread
這時多核心就可以分配來消化掉

nacestudio wrote:
多個thread也得...(恕刪)

硬體進度的同時
軟體也會進步
更何況OS的研究已經發展很久了
針對多核心的溝通問題已經有了許多想法去解決
(真佩服前文那套IBM的超多核心OS

即便以現在來看
不是多核心無用
而是您提及的XP無法支援
星塵 http://askeing.blogspot.com/
askeing wrote:
即便以現在來看
不是多核心無用
而是您提及的XP無法支援
...(恕刪)


贊同您的說法
我的意思是正多核心硬體也需軟體的配合才能發揮效果
nacestudio wrote:
windows xp professional 最多只支援2個核心,
如果用4核心的cpu+win xp pro,恐怕就會讓人失望了...(恕刪)

http://www.microsoft.com/windowsxp/pro/evaluation/features.mspx
Supports up to 4 gigabytes (GB) of RAM and up to two symmetric multiprocessors.
可以支援雙處理器,每個處理器幾個核心那是另一回事。
微軟不是有出多核的更新程式嗎?
有人的地方就有恩怨,有恩怨的地方就有江湖。
nacestudio wrote:
我的意思是正多核心硬體也需軟體的配合才能發揮效果...(恕刪)


但這句話說了也等於沒說......

Core 2 Quad的測試已經很多了,自己要問的是平常都跑些什麼程式。CPU的一堆架構設計細節真要對消費者進行說明太困難了,行銷人員的確必須訴諸一些所謂no-brainer的行銷方式,真四核、假四核,唉!

如果是念資訊本科的,要謹記經典計算機結構教科書說的,最好的benchmark就是真實的程式,哪種架構能把常用的程式執行的最有效率就是好架構,架構的效能不是只在紙上看CPU內的block diagram說這是真、那是假就能討論出來的

如果我有四核的需求,而Intel的Core 2 Quad能跑得較好(若又較不耗能最好,雖是趨勢,但仍看個人選擇),價格又很不錯,我就選Intel的,反之我就會選AMD的。Intel、AMD一直是互有領先,為了討厭一方不選其產品、或陷入行銷人員設下要你鑽的牛角尖,非常的無聊。



G.F wrote:
這行程式雖然沒辦法讓...(恕刪)


抱歉! 插花一下.

請問多thread程式很好寫嗎? 程序滿載很好優化嗎? OS很容易排程嗎? Device間的I/O衝突很容易排解嗎?

若不是? 祈求多核心的未來會帶來多少益處呢?

若真的一心只為求執行速度,那就放棄IA-32吧!

若X86要過渡到64bit,軟體都要重新Compiler,何不寄望EPIC指令的Itanium 2 還比較有希望.
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 9)

今日熱門文章 網友點擊推薦!