看到這裡,末學也想灌水一下,有錯請指正...
在買雙CPU系統, 應先考慮一下自己的需求
(A)你用雙cpu時,是想讓雙 CPU系統幫你用雙CPU同時完成一件事,或是
(B)希望雙CPU系統的兩顆 CPU 個自獨立完成不同事 ?
我想 intel 與微軟在設計 cpu 與作業系統時, 必須同時滿足這兩種不同的需求,
差異可能只在分配兩種需求的比重不同.
一般 user 可能分不清楚 multi-thread, multi-process 與 multi-task 的差別,
P4 Hyper-Threading 的出現,應該是針對絕大部份的多線程(multi-thread)軟體做最佳化,
但在多工部份的改善可能有限, 畢竟實體的雙cpu 還是強過邏輯上的雙cpu 的.
就我以前寫程式的經驗,在單CPU 的環境下, 跑單線程的程式是最快的.
若程式改寫成多線程(多執行緒)則未必能佔到便宜,有時反而更慢.
而一個 process 分給兩個 CPU 來完成, CPU 彼此間有一些 overhead
要溝通與整合, 不可能發揮 1 + 1 = 2 的效果,所以也佔不了多大的便宜.
若雙CPU同時有多支程式在run 的狀況下,就很複雜了. 講到這裡,還要考慮到
cpu-bound 與 I/O-bound 的狀況. 這與CPU 與作業系統是如何設計很有關係了.
總而言之, 若工作上經常需要同時跑多支程式且要跑很久的話, 在經濟許可下,
雙CPU系統可以減少坐在電腦前的時間,可以多點時間去運動,或少加點班來陪家人.
在較平穩的執行的環境下工作,心情也會好些. 您說是吧?

(以上主要是針對Wintel 平台而論的)