回覆列表
-
1 # 超能網
-
2 # 有夢的兔子
看了好多評論沒說到點子上,手機上的多核是偽多核,是一種省電方案,平時用小核有大任務用大核,這樣比較省電,電腦上的多執行緒打個比方吧,單核單執行緒就好比一條路跑一個車,多核多執行緒就是多幾條路多幾輛車,然後到了終點再把這種車拼成一個車,是不是想想就很複雜,遊戲玩多了就會知道好多遊戲對多核不友好,好多時候只用一個核,因為多核要特別最佳化
其實以前也有手機上的CPU支援雙執行緒的,如英特爾的ATOM,它和我們現在手機上用的ARM架構處理器不同,ATOM是x86架構的,繼承了英特爾桌面處理器的一些技術,比如Hyper-Threading Technology(HTT,超執行緒),當然ATOM處理器也是曇花一現,英特爾已停止開發了。
HTT其實就是Simulate MultiThreading(同步多執行緒技術)的一種實作方式,另外像AMD Ryzen處理器也支援多執行緒,還有IBM Power9這樣的非x86處理器同樣也支援多執行緒技術。
之所以會出現多執行緒技術,那是因為這些CPU經常會有一些閒置資源得不到利用,比如早前的英特爾處理器因為流水線過長,一些單元常常處於等待狀態,英特爾才開發出了超執行緒技術,讓這些閒置的單元得以利用,它們可以執行另一個執行緒,不過從作業系統來看,它變成了另一顆CPU。
所以說,超執行緒的存在意義就是因為有閒置的資源可以利用,一旦CPU本身流水線緊湊,結構精簡,指令效率高,那麼超執行緒就沒什麼價值了。而現在手機上的CPU都是精簡指令集架構(RISC)的ARM處理器,它的特點就是在大多數時候簡單高效,沒有多少閒置資源可供利用,自然就沒了超執行緒的用武之地。
另外,實現多執行緒技術還要花費額外的電晶體,也就是說增加了手機CPU的功耗和麵積,這對於手機來說影響很多,而且,多執行緒技術還需要作業系統和應用軟體的支援,這一切都需要時間。