為什麼超執行緒只能超出來兩個邏輯核心?0FaceToFaith02021-02-19 12:32:50

再怎麼超,幾個執行緒總的效能是不變的,超執行緒能減少cpu等待時間佔的比率,也就是儘可能的壓榨cpu的效能。

為什麼超執行緒只能超出來兩個邏輯核心?DesignInChina2021-02-19 00:24:57

這是Intel的做法,IBM 的Power系列處理器不僅可以超出來2個邏輯核心,4個(2007年的Power7),8個(2013年的Power8)都是手到擒來,而且效能是能線性提升,不像Intel只能提升30%左右。

為什麼超執行緒只能超出來兩個邏輯核心?老趙和他的2021-02-19 16:36:28

沒有超執行緒時,每個物理核心有一個指令解碼器一個執行器,但是執行器執行快,解碼器執行慢,所以執行器總在等解碼器。

超執行緒是再增加一個解碼器,讓兩個解碼器共享一個執行器。這樣執行器利用率高。

當然,這只是在大多數時候。

有的程式最佳化比較好,可以佔滿執行器。此時超執行緒就會降低效能。

為什麼超執行緒只能超出來兩個邏輯核心?傳承樹懶2021-02-24 16:09:48

一核CPU,你也可以把它超N個執行緒,不過呢就是卡。

一個程序可以包含多個執行緒,如果這個執行緒處於等待那麼就有執行另外的執行緒。如果4核CPU只處理4個任務,那麼就是並行。如果處理多個任務,我們叫做併發,如果處理超級多的任務我們叫做高併發。

所以要CPU計算的極限內,可以合理的做多個執行緒任務。