同一件事,一顆CPU在執行.當遇到負載大的程序.如影片轉檔時,使用率100%好了.再上個網,此時電腦會暴慢,嚴重者當機...
雙核心:
同一件事,二顆CPU在執行.當遇到負載大的程序.如影片轉檔時,使用率100%好了.
二顆CPU會平均分攤使用率,例如都維持50%好了.再上個網,此時電腦可能會稍微慢一點.
三核心.
同一件事,三顆CPU在執行.當遇到負載大的程序.如影片轉檔時,使用率100%好了.
三顆CPU會平均分攤使用率,例如都維持30%好了.再上個網,知道有在轉檔但沒影響
四核心:
同一件事,四顆CPU在執行.當遇到負載大的程序.如影片轉檔時,使用率100%好了.
四顆CPU會平均分攤使用率,例如都維持25%好了.再上個網,沒感覺有在轉檔......
七核心:.....................................自己想
evan5760 wrote:
CPU#0 做工作分配是我在雜誌上看到的..不過那是實體多CPU的情況..
原來多核與多CPU工作方式還是有點出入的....
...(恕刪)
最普及、最多人接觸的x86架構個人電腦,不管是實體多CPU或是多核心,都未曾有這種由專責CPU#0進行工作分配的情況出現過。
如果不想碰計算機結構的教科書,關於Symmetric multiprocessing跟Asymmetric multiprocessing的基本解釋跟歷史,也可由Wiki找到。
evan5760 wrote:
這是一張4核心的晶片,依圖示看來只有一組
Fetch(擷取)、decode(解碼)、branch(分支)、Execution(執行)和一組浮點運算單元...
我看不出來他有多個運算單元...我只知道現在的處理器都有很多管現在增加
...(恕刪)
這個圖只有在其中一個核心上用白線標出這些單元,但不代表其他沒標的三個核心就沒有這些單元,只是原圖標示者假設看圖的人都能夠舉一(核)反三(核)罷了,這樣您應該知道問題出在何處嘍!
ycweng wrote:
最普及、最多人接觸的...(恕刪)
ycweng 大大...您誤會我的意思了...
我當然了解四個核心的都是一樣的東西...所以理所當然會有4個浮點.4個運算.4個輸入..
只是您剛剛說的.目前單一個CPU都會有多個運算單元我比較不解....

這從CPU#0分配工作是我多年前在PCXXX的雜誌上面看到的....原來我一直有錯誤觀念... = =
ycweng大大我還有一個問題...核心越多工作越細...可是被分割的資料處理完總是要組合回來
這也是由作業系統處理的嗎....

evan5760 wrote:
只是您剛剛說的.目前單一個CPU都會有多個運算單元我比較不解....
....(恕刪)
就算最最粗略的把一個核心內的運算單元概分成FPU跟"其他",也就不只有一個運算單元了吧?
evan5760 wrote:
這從CPU#0分配工作是我多年前在PCXXX的雜誌上面看到的....原來我一直有錯誤觀念... = =
....(恕刪)
我不建議把雜誌的文章當成引用資料的來源,台灣IT雜誌編輯那一套跟文章來源/編輯審稿能力的良莠問題正好我還算清楚,但不是建議你不要看電腦雜誌,只是不要當成單一IT資訊來源跟引用出處,除非您已經讀IT雜誌多年讀到能夠分辨資訊對錯的層級了。
evan5760 wrote:
ycweng大大我還有一個問題...核心越多工作越細...可是被分割的資料處理完總是要組合回來,這也是由作業系統處理的嗎....
....(恕刪)
您指的是從單一核心內部角度來看某一個被分配到這個核心的執行緒被執行時的動態狀況、還是當某個多執行緒化程式的執行緒被分配到不同核心上運行的情況?
若是前者,CPU核心的Dynamic Execution會嘗試在該執行緒內的指令層級找出平行性,不一定會照原先指令進來的順序、而將指令分配到不同的管線去執行(Out-of-Order Execution),最後再In Order將指令的運算資料寫出。若是指後者,則程式本身需要負責去協調各個執行緒在不同核心/同一核心上的執行結果,作業系統會提供一些系統服務來讓這個多執行緒化程式達成協調、同步化執行緒運行的目的,但程式如果沒寫好、執行緒沒同步好,資料就有亂掉的可能。。
這些問題都不是三言兩語能打發的,只能嘗試給個概念,真有興趣,建議還是要把計算機結構跟作業系統兩門的根基紮好....
內文搜尋
X


























































































