• 3

請問cpu雙核和四核速率的算法

aleck1119 wrote:
用考試來比喻好怪就算...(恕刪)


這叫很有名的 "資料相依( data dependency )"
還有 CPU L2/ L3 cache 如何保證每個cpu核心都能取得"正確"的內容.

真正想想就一點也不怪.
aleck1119 wrote:
用考試來比喻好怪
就算我只用四核中的一核來執行程式
執行完不需將結果通知其他三核吧
更何況多核同時執行時
只需執行完各自負責的部份即可
需要copy別核產生的結果嗎?
要是真的這樣那愈多核不就愈慢了
每核執行完後都要組出相同結果
那要多核作什麼


一點也不怪

假設一台四核心的電腦,每個核心可以在一個cycle裡算一個算式
當他拿到以下的題組

a = 15
b = 2 X 7 + 6 X 4
c = 4 + 8 X 5
d = a + b
e = d + 2

a是常數,不用算
所以核心1 ~ 4 各要去算b c d e
資料相依性這時候就發生了: 核心1沒把b給算出來之前,核心3就拿不到b值來算d = a + b
同樣的,核心4就拿不到d來算e = d + 2
但在這個例子裡,多核心也是有達到加速的效果,就在於可以在一個cycle裡算出b跟c
全部算式則耗了3個cycle,如果單核心的話需要4個cycle

由此可知,為何多核心的效能不是呈線性倍數成長
作業系統、處理資料的相依性、排程演算法等等都有關係的
打個比喻

要出去玩,一個人要負責籌備所有事物
或是四個人要平分做
你認為那個比較快
不過核心多還是有好處啦~就算今天轉音樂、轉影片、轉照片、燒錄軟體都不支援多核處理~
至少你可以同時做四件~讓四核都忙自己的~
如果是雙核或單核勢必就沒辦法同時進行了~
四個人做弊....這樣的比喻很有創意...
但...如果..四個人都沒準備..打算靠彼此..
那下場一樣還是慘...無任何影射
套句OS的術語,
這種狀況叫做Dead lock (死結)

syntech wrote:
每個單核的執行時最高...(恕刪)


有啊!!

怎麼沒有呢!?

某天看電視轉來轉去的時候,正好轉到購物台,而且還是去年最有名的那位購物頻道天后正在賣電腦呢

欣賞了幾秒她整形後的模樣之後,他竟然說出了

"觀眾們我們的cpu是用2.xxG四核心的處裡器喔!!每個核心都有2.xxG的速度,那加起來就是9.xxG了喔""

然後我馬上就轉台了....
有兩種解讀方式
1.多個核心處理同一件事,例如轉檔,4核心保證比單核心快好多倍.
2.多工,每個核心做不同的事,例如1個解壓縮,1個轉檔,1個玩遊戲,所已無論如何多核心還是比單核心好.
serayang wrote:
一點也不怪假設一台四...(恕刪)


恩恩...你講的最好!!!
b85040312 wrote:
三個臭皮匠勝過一個諸...(恕刪)


這個比喻不適合形容硬體
應當是軟體方面的形容
畢竟硬體沒有思考能力只是傻傻的重複作運算而已

這討論串越來越偏離了
一開始樓主只是問說4核心的效率是不是1+1+1+1=4
答案也肯定不是
沒有人說4核心效率會比較低啊
怎麼一堆人跑出來說1+1+1+1一定會大於1

其實去看這個沒什麼意義,電腦再快你只有一個人在操作
純操作程式時,就算你100顆核心的超級電腦,用起來也是跟1核心沒什麼兩樣
(上網、燒片、看影片、玩遊戲?、msn、抓檔案.....)
頂多也只是比較浪費電而已
差別就在需要大量cpu運算時,應用程式支援的情況下會比較快,但是不是倍數增加
(算圖,壓縮檔案影片,玩遊戲?,高級繪圖運算....)

看看其實現在一般人電腦大部分的使用時間都落在上方那區吧...
  • 3
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?