請問各位CPU要用四核還是雙核好?
聽說四核心的CPU.有的遊戲和軟體會不支援.這是真的嗎?
而雙核心時脈高------四核心時脈較低
要是各位要選哪一核的核心?
沒有任何一個軟體是單或雙核心可以用 3或4核心就不能用的
只有"最佳化"的差別
如果這個軟體有對多核心最佳化,那用3核心 4核心 就可以明顯比雙核心來的快速,Winrar就是一個很好得例子
如果這個軟體沒有對多核心最佳化,那雙核 3核 4核 就真的都沒用了嗎?那也未必
因為還有很多背景程式 或是 同時也在執行的某些軟體
就算程式只支援單核心
Vista內還可以分配a程式要用1號核心跑 B程式用2號核心跑....依此類推
這樣4核心你就可以一次跑4個程式
是同時脈雙核心的兩倍快
所以多核心絕對有用處,不然為什麼早在多年前,單核心時代的時候,伺服器要2..4..8 cpu?對吧
多年前的電腦都有這個需求了...難道你覺得...現在...未來...完全不需要嗎?
個人對3核心 4核心 多線程程式 是抱著樂觀的方向
說軟體不支援四核 雙核
好像執行的時候只有一個核心在跑, 其他都在納涼, 是錯的
一個軟體再執行的時候很多條指令可以被overlap execution
在單核心的CPU就已經用superpipeline來做平行處理了 (一個clock可以執行兩條以上的指令)
多核心只會讓管線化執行的效率更高, 當然軟體執行的速度也就會變快
不過最重要的是有沒有作軟體最佳化 ( 看 Compiler 有沒有支援多核心最佳化)
要知道Pipeline背後是有很多Hazard的, 這是天生無法避免的Overhead
當沒有作軟體最佳化, 則多核心處理器一天到晚在解決pipeline Hazard問題 (多核心的Hazard必定比單核心嚴重, 因為Datapath更複雜)
所以沒有作軟體最佳化的應用程式在四核心執行的速度, 不一定比雙核心快
這個是原因之一
ycweng大大看到這篇應該很樂意補充

cyberdog wrote:
在單核心的CPU就已經用superpipeline來做平行處理了 (一個clock可以執行兩條以上的指令)
多核心只會讓管線化執行的效率更高, 當然軟體執行的速度也就會變快
多核心跑舊程式不會比較快. 多核心相當於多條 pipeline, 對於單一條 pipeline 是不具有加速效果的.
superpipeline 或 scoreboard 等ILP (Instruction Level Parallelism)技巧已經到達極限, 無法再大幅提昇單一管線的效能,
所以只好改從增加管線數目來著手.
cyberdog wrote:
不過最重要的是有沒有作軟體最佳化 ( 看 Compiler 有沒有支援多核心最佳化)
問題是一隻舊程式只能選一條 pipeline 來走, 解決方法之一是把舊程式改成多執行序 (multithreading),
讓一個執行序走一條 pipeline, 可惜的是, 現有的 C Compiler 無法"自動" 幫你完成這件事情,
目前相關研究很多仍無法突破這一點. 簡單來講, 舊程式得改, 而且是架構上的大幅修改.
在很多大型軟體系統中, 這種架構大改的痛苦相當於全部重寫, 所以除非是廠商有競爭壓力,
不然別期待了. C compiler 在這方面完全無法幫你 "最佳化".
對於摟主的問題, 除非你能確定常用的軟體支援四核心, 不然通常還是高時脈的雙核心會比較快.
另一種考量是, 四核心的爽度比較高, 速度其實差不多, 你上網看電影打報告都無法讓 CPU 100% 運轉,
所以雙核四核都一樣快, 因為都在休息~~
關閉廣告