Re: [請益] 請問雙核心

看板hardware (電腦硬體)作者 (hi)時間18年前 (2006/05/23 15:27), 編輯推噓5(502)
留言7則, 6人參與, 最新討論串1/1
我來說一下我的意見好了 在現階段的CPU和OS配合之下 你可以把所有的系統都當成是多工的環境 簡單的說 就是CPU每格一段時間會切換到不同的task中做事 但是 實際上一個時間點也只有一個task在做事(當然有多條pipeline在運算) OS的排程方式 會讓使用者有不同層級的多工觀感 比如說在windows下面 當工作量很大的程式在跑的時候 他會把大多數的CPU時間和實體記憶體佔去(甚至cache) 所以其他程式就會卡卡的(多工感小) 一來執行的時間少 二來可能輪到他執行的時候又在作swap的動作(實體<-->虛擬記憶體)or大量的cache miss 導致執行的效率很差 這種大量運算和吃大量記憶體的現象在多媒體類型的軟體中很常見 這也是為什麼大家會說有處理多媒體的比較需要多核心的CPU的原因 至於Unix環境下OS可經過權限的設定 比較不會讓人有資源都被一兩個大程式吃光的感覺 所以多核心的意義是什麼? 簡單說來 就是你在一個時間點下有多個task同時在做事 這裡會遇到一個嚴重的問題 就是1+1通常會小於2 假如現在兩個task彼此間沒有任何關係的話 overhead就會比較小(但起碼共用匯流排和其他資源) 有相關的兩個task 彼此間可能需要互相溝通才做的下去 那在兩個cpu中的task要怎麼溝通?(AMD和INTEL都有不同的設計) 這中間的溝通、等待、預測就要付出overhead 所以即使3.2G的雙核心 他的效果也絕對不是單顆的兩倍(千萬不要被廣告騙了) 事實上在資工和電機領域很早就在討論這種多個task間的合作問題 大概十幾年前這類型的研究都很盛行 不過那個時候因為硬體的支援太少 所以往往1+1<1 而且那個時候的硬體廠商會告訴你 他們能夠讓單核心的效能不斷的double再double(單核心都做不完了) 所以當年的那些研究後來都沒落了 不過現在的硬體也有點遇到了瓶頸 單顆的效能能增加的有限(散熱是很嚴重的問題) 但是製程一值再進步 東西越做越小 剩下的空間做什麼? 乾脆多放一倍電路進去 然後把cache加大(cache加大不見得效能會提昇 但在目前來講算是正向的) 來增加微幅的效能 雖然放進了兩倍的電路 但是因為空冷的功率瓶頸還是沒解決(好像是13X~14X) 所以很多目前的雙核心都是降頻在跑 也因此 1<0.7+0.7<1.4 所以很多人會建議看你的電腦要做什麼事 在決定要不要使用雙核心 對於不支援雙核心的程式來講 你還是只用到一個核心的能力(而且這個核心的能力還比較弱) 所以慣用的軟體支不支援雙核心 支援性好不好才是最重要的考量 比如說前面有版友有轉檔的數據比較 這樣的比較就很實際 當然就算你使用的軟體不支援雙核心 你還是可以用 畢竟當你偶爾執行工作量大的程式的時候 不會讓其他的程式卡卡的 這還是會有爽度的 當然之後多核心幾乎是一種必然的趨勢 但在目前這個階段的市售雙核心是否算是發展成熟 還蠻見仁見智的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.71.7

05/23 16:53, , 1F
一般人很難想這麼多,只知道雙核一定比單核好,時脈高就是
05/23 16:53, 1F

05/23 16:54, , 2F
王道
05/23 16:54, 2F

05/23 17:15, , 3F
推...打破雙核心的迷思~~~
05/23 17:15, 3F

05/23 19:43, , 4F
不錯
05/23 19:43, 4F

05/23 19:52, , 5F
05/23 19:52, 5F

05/25 02:11, , 6F
...只能說不少地方講錯...
05/25 02:11, 6F

05/27 20:52, , 7F
講錯也要拿出一點東西吧,樓上的
05/27 20:52, 7F
文章代碼(AID): #14Shbrhq (hardware)
文章代碼(AID): #14Shbrhq (hardware)