明明效能更好,游刃有餘,為何跑同樣的模擬器軟體,流暢度相同,四核反而比單核發熱嚴重?

時間 2021-06-08 17:21:10

1樓:

LZ遇到的狀況來自於幾個不同的方面:

---先說NDS模擬器

關於它有兩件事情

1,我查了一下,NDS模擬器有良好的多執行緒支援,這意味著它能很好地利用手機中的多個CPU。

2,NDS模擬器的本質是乙個虛擬機器,它虛擬了乙個由一塊ARM9+一塊ARM7處理器為基礎的系統(實際怎麼實現我並不清楚)。你會注意到,這種模擬器通常有乙個特點:系統有多少運算能力,它就會盡力使用多少-----也就是說不能指望它恰到好處地使用了保持畫面流暢的必要計算能力。

---再說Android系統

Android系統的處理器調動是依靠Linux的CPU排程器(Governor),通常它是乙個被精心配製的"OnDemand"型別的排程器(在刷機的時候還會見到諸如Interactive等別的排程器)。

CPU排程器是一系列演算法組成的集合,它決定什麼情況下CPU執行於什麼頻率,以及決定何時上線關閉的核心,何時關閉核心,後兩者我們叫它hotplug,即在晶元工作時"熱插拔"其中的CPU核心之意。

其實,linux的CPU排程器是很簡陋的,除了溫度(從安全需求來說,排程器顯然不能讓晶元過熱燒毀)以外,它能用到的更改CPU頻率的依據非常有限,通常只有每個CPU的佔用率:

打個比方,如果排程器發現CPU佔用率超過90%,那麼它就把CPU的頻率提高幾檔,如果CPU佔用率降低了,它就會逐漸降低CPU頻率,直到下一次出現CPU佔用率超過90%的情況。

如果把單一CPU提到最高頻率也不能解除90%的情況,那麼排程器就會讓下乙個關閉的CPU上線,直到所有的CPU都上線為止。為了方便,一般來說這個CPU上線的順序只可能是cpu0->cpu1->cpu2->cpu3

當溫度感測器發現處理器過熱時,排程器就會強行限制CPU的效能不超過某個預先設定好的程度,以保證處理器產出的熱量不會超出晶元的散熱能力

我想你一定已經注意到,排程器的邏輯是沒有節制地「按需分配」,唯一的制約是過熱。

而NDS模擬器對運算能力的要求是多多益善

這裡有乙個例子,Nexus 10對它的晶元,也就是Exynos 5250設計的最大功耗為4瓦特。Nexus 10是一台10英吋平板產品。

這兩者加在一起的結果便是,排程器會想方設法在不超過散熱閾限的情況下開啟更多的CPU,並將其盡可能設定在高頻率。------>從散熱上,它等價於處理器工作於最高可能的功率下

---再回到處理器

defy+的處理器是45nm lp工藝製作的Texus Instrument OMAP 3630

Nexus 7.2的處理器是TSMC 28nm lp工藝的Qualcomm Snapdragon APQ8064-1AA

Note2的處理器是Samsung 32nm lp(帶有hkmg)的Samsung Exynos 4212

前者與後兩者的製造工藝只差了一代 (注:APQ8064沒有用上HKMG,相對與45nm工藝而言,效能提公升有限),這意味著相同的電路,後兩者只能在相同頻率省電20~40%左右。

另乙個事項是,APQ8064用的krait處理器滿載於1.5Ghz時功耗約為750mW,Exynos 4212的Cortex A9處理器滿載於1.5Ghz的功耗約為500mW,對後兩個晶元而言,四個CPU滿載時的功耗是相當恐怖的,達到了3瓦特量級。

而defy+的OMAP3630只有乙個工作於800mhz的cortex A8處理器,滿載功耗只有1瓦特量級。

此外,對於MSM8974/Exynos 5 Octa (5410,5420),它們的CPU滿載時功耗可達到6~8瓦特級別。

到此為止我相信你明白這個問題了。

關於晶元過熱導致脫焊的情況:我認為合乎標準的焊接工藝,加上正確設定的排程器閾限不會讓這種事情發生。然而,NVIDIA的晶元(80nm工藝的顯示卡GPU)確實出現過因長期熱脹冷縮而導致脫焊的召回事件。

怎麼能在同學聚會中游刃有餘?

伍芽030 不要總別人的視角看自己的每乙個行為 缺點不然你總覺得自己比不上別人。既然你都說了,和別人不熟,那你就用自己的內心看自己,笑一笑。既然已經和別人不熟了,那別人哪來的閒功夫去了解你的方方面面。自信地笑一笑,聊一聊。 許小 瀉藥 逃避型社交也很想知道怎麼辦 完全不想打招呼啊!雖然我知道他們都還...

大學生如何在面試時游刃有餘?

Lewis 1.面試時候注意禮節和禮貌,例如言談舉止,正裝2.表達一定要清晰,有力 3.一定要自信 4.不要過多強調在校成績或者身份,容易讓人覺得稚嫩5.不要過於謙虛,覺得太圓滑 6.要外向一點 王拙之 作為乙個新人,在面試時最好的狀態不是游刃有餘。而是不卑不亢中帶著謙虛。因為沒有工作經驗,面試官在...

在職場裡,適當的say no更能游刃有餘,你怎麼看?

番茄煮河粉 可能你的工資比較高吧,我每月兩千多的工資,加班?多幹?不存在的!每次領導叫加班,直接說沒空,有其他事。出差在外面更加,兩天解決說三天,一天休息。兩千多的工資隨便發,還能發我幾百塊不成,反正年底走人 Selina chen 首先在你還不具備很強的業務能力的時候,在剛剛進入新職場時對於分配給...