今天在中國時報上面看到的消息,大意是說-電腦的中央處理器速度越快,執行軟體的速度反而越慢,再多核心處理器漸漸成為市場主流的同時,因為處理器的概念太新,架構太複雜,導致程式設計師根本無法利用它的效能,根據專家指出,四核心處理器執行一般常用的軟體時,並不會比上個世代的產品快,更糟的事,接下來intel下半年所要推出代號dunnington的六核心處理器反而會拖累軟體的速度,會發生如此的原因是因為-多核心的處理器的架構是過去只見於超級電腦的平行運算,對程式設計師而言是一大的挑戰,他們必須將過去由單一處理器負責的程式化整為零.分散到各個處理器進行運算,以懷孕來做比方,傳統做法是讓一個婦女懷胎九月生下一個寶寶,多核心的做法卻是由九位孕婦同時上陣,每人懷胎一個月,再將九個人的成果整合成一個寶寶..... 言論轉載自中國時報

不知各位的01大大們有什麼想法呢??
文章關鍵字
我都不是電腦科系的人,看了都蠻想笑的了......。這種說法太過簡略了一點了吧!

撇開所有的問題,不要談什麼重大的細節,或者是多麼高深的原理;我們自己比較一下P4對抗C2D,如果你是從老P4─北木那一批的年代跳到C2D的,姑且不論有沒有開HT技術,一定都會覺得快很多,沒錯吧?單單就比開程式的速度,一定會有感覺,甚至可以用碼表按出來快了多少。當然,先決條件是你要使用比較新的軟體,客觀性會比較大。

只要你拿碼表按一按,很快你就會懂了。C2D E6600安裝Vista不超頻大概需要35分鐘,C2D Q6600則可以用碼表測出來快了7分鐘到8分鐘,這樣速度上的進化,是程式和核心指令等等的優化而來的。我從來沒聽過這種倒退走的的方法.......。
...這篇蠻好笑的...
誰規定你家電腦的處理程序一個時間只能有一個?

寫這篇文章的人真不知道是...

這樣的比喻吧...
有四件工作要給處理器做

單核心處理器只有一隻手...
每次只能做一件,就算他速度再快還是只能做一件
假設他作一件都需要 10秒...
那他作四件需要 40秒來處理...

雙核心處理器有兩隻手...
每次可以作兩件,假設他一隻手作一件也一樣需要 10 秒
那他作四件工作需要 20秒

四核心處理器有四隻手
每次可以作四件,他每隻手作一件需要 10秒
那他作四件只需要 10秒,因為每隻手處理一件剛剛好

仔細看,就算每顆核心的速度下降,多核心還是比單核心快...
就算他們不能一起作一件事情,不表示沒事情給他們作,

這篇文章的作者該不會自己還在用單核心吧?
是的確要看軟體有無支援多核心是否啦
但是目前的的多核心就算是當單核心時用下也是很快


而且INTEL就是意識到CPU時脈再提升下去並不會有好處,所以才搞HT
CPU走向多核心取向市不得已的...
還是要搞個類CELL核心...但結果大家應該也都看到了
我是資訊工程本科系畢業的
我會說這篇報導是真實的 但只是有一點誇大罷了
smp架構的複雜性其實超乎一般人的想像
大部分pc級用戶之所以可以用到smp的好處
是在於相對於單cpu架構下smp對處理多人多工有其先天性的優勢
問題是絕大多數的User其實不需要這麼強的運算能力(特別是企業戶 90%以上都是文書機)
當大家都在講節能減碳時 哪個老闆願意花錢買一堆不必要的運算能力?(大家想想除了打電動看藍光 您的CPU負載何時會持續超過30%?)
軟體對smp的支援度也是一個大問題
要能支援smp 除了compiler本身要能支援(MS自己的VS .net也是最近才支援)
架構設計 coding技巧等等都是大問題
所以廠商不一定願意寫完整支援smp的程式 因為太複雜了
(資工 資科本科系的人 應該對作業系統這門課程中的 "哲學家吃飯問題" 有深刻印象)
所以軟體跟不上硬體這是事實
smp(multi-core)不一定有用也正確
只是沒有報導講的那麼離譜
因為程式設計師不會笨到把一件工作拆成n件平行執行 (這種事情很講天份 更重要的是問題是否能被分工)
只要把程式鎖死在某一個core上執行(就是現在的作法) 就成了
其他的core用不到? 那是user的事情





jameswhywhy wrote:
傳統做法是讓一個婦女懷胎九月生下一個寶寶,多核心的做法卻是由九位孕婦同時上陣,每人懷胎一個月,再將九個人的成果整合成一個寶寶(恕刪)


這什麼鬼解釋 那不就變異形

很x殘的記者

軟體的演進不是像硬體說變就變的

當然要等到軟體對應好

自然會發揮多核心的價值 效果自然會顯現出來

這部份是急不得的
歪先生=真好玩=Arena speedo???
超級電腦 也不會只執行一支程式吧

比方

單核心 多工 效率

一個人 做很多事 實際一個時間做一件事

多核心 多工 效率

很多人 做很多事 實際一個時間做多件事

現在的CPU多工排程的管理都是交給OS(WINDOWS,LINUX,UNIX...)

至於多工程式的寫法

99% 的程式設計師 都是寫中高階語言的程式 對CPU 直接控制等於零

最多寫寫 多執行緒的程式 (支援幾個CPU 就交給OS)

那你說這些程式設計師 要了解怎麼寫六核心的程式嗎??

答案是 不用的啦

程式寫的不好 效率差怎麼辦

老闆說:換台更強的電腦 就解決了

小工程師:想那麼多干麼

有錢就花個二千萬買個 INTEL 六十四核心 的主機 加上WINDOWS DATA CENTER 版本的OS (支援六十四核心的OS) 就解決了
mictzen6116 wrote:
那你說這些程式設計師 要了解怎麼寫六核心的程式嗎??


簡單的說就是...
多核心支不支援基本上是 OS 控制的...

現在大家也都是軟體直接開了就用,誰鳥他在哪顆核心跑?
反正系統會幫我搞定這些東西,看到工作管理員兩顆都有在動就可以了,

而且雙核心比單核心快是肯定的...

就算 Core2 關一核心,還是比單核心的 P4 快。
我在看言情小說嗎XD
反正多核心執行單一程式 如果不支援 不會比較快
但是本來同時執行3個程式是極限
多了核心當然可以多執行幾個程式
其實這邊文章點出目前電腦學術界的隱憂: 軟體技術跟不上硬體多核心的發展.

曾經聽過Fran Allen (獲得Turning Award) 的演講, 在假設硬體公司不斷增加核心的前提下,
十年後的高階CPU有可能會超過一千顆核心, 但目前卻沒有單一軟體能有足夠的彈性, 能在硬體核心數不斷增加時,
"自動" 利用較多的核心來運算. 她表示這是目前的研究課題之一,
她認為或許新式的電腦程式語言 functional programming 有機會解決這個問題.
(Java & C 被視為 procedural programming, 基本上有迴圈架構的程式語言都很難scale up).

但其實一般人還不需擔心這些, 畢竟目前的核心數少, 多跑幾隻不同的程式就可以利用到多核心了.
我想報紙只是把學術報告內容摘要出來, 但卻沒去介紹到背景跟假設, 才設導致誤會.
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 16)

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