夢晨 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
蘋果
M1又快又省電,除了跑分很高之外,實際體驗上也有一種流暢感。
蘋果到底怎麼做到的?
原來除了硬體效能強大以外,軟體層面也有最佳化技巧。
一位名叫Hoakley的程式設計師偶然發現了其中的秘密。
這老哥總之是有錢,M1和
英特爾
版的iMac都買了。業餘時間他喜歡自己開發點實用小工具,比如壓縮軟體。
老哥在後臺測試自己的壓縮程式時發現,M1上只有4個核心在跑,還有4個
閒著
。
換到英特爾上試試,因為還沒用到虛擬核心,是由8個真實核心共同承擔了工作。
回到M1裡仔細一看,使用率高的還不是效能高的那4個,而是“效率核心”。
△
4核有難,4核圍觀
在M1晶片的8個CPU核心裡,有4個被稱作“Firestorm”的
效能核心
,另外4個是“Icestorm”
效率核心
,效能弱一些,不過
功耗更低
。
研究了一下,老哥發現是自己把任務優先順序設低了,提高以後,就能讓4個性能核心參與進來。
老哥恍然大悟,原來這就是蘋果的策略。
讓優先度低的任務只佔用效率核心,慢點就慢點吧,誰讓你優先度低呢。
效能核心保持空閒狀態,隨時應對突發的高優先度任務。
App啟動速度快,切換流暢的原因找到了:
4個高效能的核心一直候著呢
。
非對稱核心
MacOS給開發者提供了4種優先順序,分別是
後臺
(background)
、
實用
(utility)
、
使用者發起的
(userInitiated)
、
使用者互動的
(userInteractive)
。
如果不指定的話就歸為預設,由作業系統自己安排。
Hoakley老哥把自己的壓縮軟體改造成可以隨時調整優先順序的,然後準備了一個10GB的檔案開始測試。
在英特爾CPU上,最高優先順序完成壓縮需要23。3秒,調成最低優先順序需要26秒。
在M1上,最高優先順序執行只要14。1秒,調成後臺優先順序直接漲到
101秒
。
老哥認為,犧牲一些不重要任務的執行速度,換來的使用體驗上的流暢,太值了。
比如備份檔案就不用著急,即使慢到用15分鐘備份不到1G也無所謂。
歷史上也有這樣一個反面教材。
2006年的時候Linux核心引入了一種叫
完全公平佇列
(Completely Fair Queuing)
的I/O排程機制。
雖然在理論上能提升總體的執行效率,但使用者正需要完成的任務總是有一些延遲才能執行。
因為使用者體驗太差,最終完全公平佇列被大多數Linux發行版放棄了。
不過也有人不喜歡M1的這種機制,他認為在筆記本上這樣做可以延長續航。但臺式的iMac上真的要犧牲執行速度嗎?反正都是插電源的。
英特爾:在學了在學了
其實CPU核心分效能核心和效率核心這件事,手機上的Arm晶片早就在做了。
甚至
高通
還在研發中的
驍龍875
,被曝光在這種架構基礎上還增加了一個“超大核心”Cortex X1。總共1+3+4構成8個核心。
蘋果M1將Arm平臺帶到了PC市場,讓英特爾開了眼。
在CES2021上曝光的12代酷睿
Alder Lake
,英特爾也宣佈要區分兩種核心了。
AMD
知道了這個訊息後,直接把擠牙膏的Zen3+專案給
取消
了,轉而全力研發下一代
Zen4
架構處理器,代號Raphael,預計2022年釋出。
不知道AMD會不會選擇跟上這個潮流。
參考連結:
[1]https://arstechnica。com/gadgets/2021/05/apples-m1-is-a-fast-cpu-but-m1-macs-feel-even-faster-due-to-qos/
[2]https://eclecticlight。co/2021/05/14/cores-shouldnt-all-be-the-same-m1-macs-do-better/
猜你喜歡
- 2021-07-20醜到極致就是潮?寶馬與蘭博基尼聯合打造的超級跑車BMW-M1
- 2021-06-22英特爾膝上型電腦市佔率又要降低:蘋果削減一半訂單
- 2021-05-23網傳iPad Pro 2021可安裝macOS,完美執行Final Cut Pro
- 2021-04-20英特爾去年研發投入超過135億美元 同比略有增加
- 2021-04-09超實用的燃脂瑜伽船式:增強核心力量減少贅肉,打造迷人小蠻腰