|
Junior Member
|
引用:
Originally posted by Karsten
前面各位大俠解釋的差不多了。順便補充一下之前上課時
的一些心得,也請各位高手指導。
雙CPU所能達到的效能確實很難去逼近2倍。
因為雙CPU工作會增加 <分配> 和<組合>的演算過程,
簡單的說:
假設系統會分配一個一連串的運算進CPU,
一個poject有 依序1234567...的運算。
單CPU時,對前端來說只要將其排序進入進入工作,一旦前一個完成
後一個隨即補上,對後端來說只要依序將工作結合即可。其中的dealy
間格算是最小的,前端和後端的load也最輕鬆簡單。
至於多CPU時呢? 如果單純將 1234567...
分配成 13579... 進入兩個cpu工作,之後加以結合,
2468....
這毫無疑問的會相當沒有效率,因為每個運算的複雜度和所需時間不同...
這時候前端就要增加一個 依每個cpu運作情形加以分配,
而後端也得根據情況來加以結合,這些運算的過程都會增加
相當多的load,以及delay。
所以效能上不太可能達到1+1=2。
至於發展出多CPU運算的原因則是,受困於製成上的現實,
及成本考量上的妥協。
即使明知4.8G會比兩個2.4G的工作單元快很多,但作不出
4.8G的單元時,或是一棵4.8G工作單元的價格比組織一個
雙單元的環境還來得昂貴許多,而你又需要超過2.4G的的運算速度下
所發展出的方法。
就一般的PC user來說,使用雙CPU的好處其實是不大的。
因為成本太高,組織一個雙CPU的工作環境,價格上
可能比兩台電腦還貴。就算以轉檔來說,雖然雙CPU可以
節省不少時間。以前面為例,原來2個半小時可以進步到2小時。
看起來你省了半小時。但如果你乾脆把工作丟給一台電腦去
工作兩個半小時,你自己就有另一台完全沒有負載的電腦
可以去做自己想做的事,這樣你節省的時間不就等於2個半小時了。
當然,如果你有時間的壓力等的考量則另當別論了。
但是最後還有一個結論,不論組一個雙CPU工作環境要花多少錢,
或是組兩台電腦又要花多少錢,套一句MasterCard的台詞。
|
最重要的是:「爽度..........無價」
^^^^^^^^^^^^^^^^^^
這個讚 !! 
|